<html>
<head><meta charset="UTF-8" /><script>
var $gwt_version = "2.4.0";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $strongName = 'AB34B6A5EC3F2BBCB6EDE6D70171CB0A';
var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null,
$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
$stats && $stats({moduleName:'edu.upenn.cis.cis550.hw3.Cis_550_hw3',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
</script></head>
<body>
<script><!--
var _, N100000000_longLit = {l:0, m:4193280, h:1048575}, N81_longLit = {l:4194175, m:4194303, h:1048575}, N6_longLit = {l:4194298, m:4194303, h:1048575}, N1_longLit = {l:4194303, m:4194303, h:1048575}, P0_longLit = {l:0, m:0, h:0}, P1_longLit = {l:1, m:0, h:0}, P5_longLit = {l:5, m:0, h:0}, Pa_longLit = {l:10, m:0, h:0}, P12_longLit = {l:18, m:0, h:0}, P30_longLit = {l:48, m:0, h:0}, P80_longLit = {l:128, m:0, h:0}, P3e8_longLit = {l:1000, m:0, h:0}, P1dcd6500_longLit = {l:877824, m:119, h:0}, P3b9aca00_longLit = {l:1755648, m:238, h:0}, P7fffffff_longLit = {l:4194303, m:511, h:0}, Pffffffff_longLit = {l:4194303, m:1023, h:0}, Q$Object = 0, Q$String = 1, Q$AnimationScheduler$AnimationHandle = 2, Q$AnimationSchedulerImplTimer$AnimationHandleImpl = 3, Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1 = 4, Q$Context2d$Composite = 5, Q$Context2d$LineCap = 6, Q$Context2d$LineJoin = 7, Q$Context2d$Repetition = 8, Q$Context2d$TextAlign = 9, Q$Context2d$TextBaseline = 10, Q$ButtonCellBase$Decoration = 11, Q$CodeDownloadException$Reason = 12, Q$JavaScriptException = 13, Q$SerializableThrowable = 14, Q$Style$BorderStyle = 15, Q$Style$Cursor = 16, Q$Style$Display = 17, Q$Style$Float = 18, Q$Style$FontStyle = 19, Q$Style$FontWeight = 20, Q$Style$HasCssName = 21, Q$Style$ListStyleType = 22, Q$Style$Overflow = 23, Q$Style$Position = 24, Q$Style$TableLayout = 25, Q$Style$TextDecoration = 26, Q$Style$Unit = 27, Q$Style$VerticalAlign = 28, Q$Style$Visibility = 29, Q$ClickHandler = 30, Q$DomEvent$Type = 31, Q$MouseDownHandler = 32, Q$MouseMoveHandler = 33, Q$MouseOutHandler = 34, Q$MouseOverHandler = 35, Q$MouseUpHandler = 36, Q$ScrollHandler = 37, Q$TouchCancelHandler = 38, Q$TouchEndHandler = 39, Q$TouchMoveHandler = 40, Q$TouchStartHandler = 41, Q$AttachEvent$Handler = 42, Q$CloseHandler = 43, Q$HasAttachHandlers = 44, Q$ResizeHandler = 45, Q$ValueChangeHandler = 46, Q$EventHandler = 47, Q$HandlerRegistration = 48, Q$HasHandlers = 49, Q$RequestException = 50, Q$DateTimeFormat$PredefinedFormat = 51, Q$HasDirection$Direction = 52, Q$DateTimeFormat$PredefinedFormat_0 = 53, Q$LongLibBase$LongEmul = 54, Q$Layout$Alignment = 55, Q$ImageResource$RepeatStyle = 56, Q$SafeStyles = 57, Q$SafeStylesString = 58, Q$SafeHtml = 59, Q$SafeUri = 60, Q$SafeUriString = 61, Q$Point = 62, Q$TouchScroller$4 = 63, Q$TouchScroller$5 = 64, Q$TouchScroller$TemporalPoint = 65, Q$Column = 66, Q$ColumnSortList = 67, Q$HasDataPresenter$1 = 68, Q$HasKeyboardPagingPolicy$KeyboardPagingPolicy = 69, Q$HasKeyboardSelectionPolicy$KeyboardSelectionPolicy = 70, Q$Header = 71, Q$SimplePager$TextLocation = 72, Q$DocumentModeAsserter$Severity = 73, Q$Event$NativePreviewHandler = 74, Q$EventListener = 75, Q$Timer = 76, Q$IsSerializable = 77, Q$SerializationException = 78, Q$RequestCallbackAdapter$ResponseReader = 79, Q$DialogBox$MouseHandler = 80, Q$DockLayoutPanel$Direction = 81, Q$HasVisibility = 82, Q$HasWidgets = 83, Q$IsRenderable = 84, Q$IsWidget = 85, Q$MultiWordSuggestOracle$MultiWordSuggestion = 86, Q$PopupPanel$AnimationType = 87, Q$RootPanel = 88, Q$SuggestOracle$Suggestion = 89, Q$UIObject = 90, Q$ValueBoxBase$TextAlignment = 91, Q$Widget = 92, Q$NodeImpl = 93, Q$PathImpl = 94, Q$CellPreviewEvent$Handler = 95, Q$DefaultSelectionEventManager$SelectAction = 96, Q$HasData = 97, Q$Range = 98, Q$RangeChangeEvent$Handler = 99, Q$RowCountChangeEvent$Handler = 100, Q$SelectionChangeEvent$Handler = 101, Q$SimpleEventBus$Command = 102, Q$UmbrellaException = 103, Q$Attribute = 104, Q$Attribute$Type = 105, Q$Relation = 106, Q$Schema = 107, Q$Tuple = 108, Q$Serializable = 109, Q$Boolean = 110, Q$Byte = 111, Q$CharSequence = 112, Q$Character = 113, Q$Comparable = 114, Q$Double = 115, Q$Enum = 116, Q$Float = 117, Q$IndexOutOfBoundsException = 118, Q$Integer = 119, Q$Long = 120, Q$Number = 121, Q$Object_$1 = 122, Q$RuntimeException = 123, Q$Short = 124, Q$StackTraceElement = 125, Q$StackTraceElement_$1 = 126, Q$Throwable = 127, Q$Throwable_$1 = 128, Q$ElementType = 129, Q$RetentionPolicy = 130, Q$BigDecimal = 131, Q$BigInteger = 132, Q$MathContext = 133, Q$RoundingMode = 134, Q$Timestamp = 135, Q$Collection = 136, Q$Date = 137, Q$LinkedHashMap$ChainEntry = 138, Q$List = 139, Q$Map = 140, Q$Map$Entry = 141, Q$NoSuchElementException = 142, Q$Set = 143, Q$TreeMap$Node = 144, Q$TreeMap$SubMapType = 145, Q$Path$Node = 146, Q$Pattern$Flag = 147, Q$Scope = 148;
function makeCastMap(a){
  var result = {};
  for (var i = 0, c = a.length; i < c; ++i) {
    result[a[i]] = 1;
  }
  return result;
}

function nullMethod(){
}

function Object_0(){
}

_ = Object_0.prototype = {};
_.equals$ = function equals(other){
  return this === other;
}
;
_.getClass$ = function getClass_0(){
  return Ljava_lang_Object_2_classLit;
}
;
_.hashCode$ = function hashCode_0(){
  return getHashCode(this);
}
;
_.toString$ = function toString_0(){
  return this.getClass$().typeName + '@' + toPowerOfTwoString(this.hashCode$());
}
;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
_.castableTypeMap$ = {};
function $cancel(this$static){
  if (!this$static.isRunning) {
    return;
  }
  this$static.wasStarted = this$static.isStarted;
  this$static.element = null;
  this$static.isRunning = false;
  this$static.isStarted = false;
  if (this$static.requestHandle) {
    this$static.requestHandle.cancel();
    this$static.requestHandle = null;
  }
  this$static.wasStarted && this$static.onComplete();
}

function $run(this$static, startTime){
  $cancel(this$static);
  this$static.isRunning = true;
  this$static.isStarted = false;
  this$static.duration = 200;
  this$static.startTime = startTime;
  this$static.element = null;
  ++this$static.runId;
  $execute(this$static.callback, currentTimeMillis());
}

function $update(this$static, curTime){
  var curRunId, finished, progress;
  curRunId = this$static.runId;
  finished = curTime >= this$static.startTime + this$static.duration;
  if (this$static.isStarted && !finished) {
    progress = (curTime - this$static.startTime) / this$static.duration;
    this$static.onUpdate((1 + Math.cos(3.141592653589793 + progress * 3.141592653589793)) / 2);
    return this$static.isRunning && this$static.runId == curRunId;
  }
  if (!this$static.isStarted && curTime >= this$static.startTime) {
    this$static.isStarted = true;
    this$static.onStart();
    if (!(this$static.isRunning && this$static.runId == curRunId)) {
      return false;
    }
  }
  if (finished) {
    this$static.isRunning = false;
    this$static.isStarted = false;
    this$static.onComplete();
    return false;
  }
  return true;
}

function Animation_0(){
  Animation_1.call(this, ($clinit_AnimationSchedulerImpl() , INSTANCE));
}

function Animation_1(scheduler){
  this.callback = new Animation$1_0(this);
  this.scheduler = scheduler;
}

function Animation(){
}

_ = Animation.prototype = new Object_0;
_.getClass$ = function getClass_1(){
  return Lcom_google_gwt_animation_client_Animation_2_classLit;
}
;
_.onComplete = function onComplete(){
  this.onUpdate((1 + Math.cos(6.283185307179586)) / 2);
}
;
_.onStart = function onStart(){
  this.onUpdate((1 + Math.cos(3.141592653589793)) / 2);
}
;
_.duration = -1;
_.element = null;
_.isRunning = false;
_.isStarted = false;
_.requestHandle = null;
_.runId = -1;
_.scheduler = null;
_.startTime = -1;
_.wasStarted = false;
function $execute(this$static, timestamp){
  $update(this$static.this$0, timestamp)?(this$static.this$0.requestHandle = this$static.this$0.scheduler.requestAnimationFrame(this$static.this$0.callback, this$static.this$0.element)):(this$static.this$0.requestHandle = null);
}

function Animation$1_0(this$0){
  this.this$0 = this$0;
}

function Animation$1(){
}

_ = Animation$1_0.prototype = Animation$1.prototype = new Object_0;
_.execute = function execute(timestamp){
  $execute(this, timestamp);
}
;
_.getClass$ = function getClass_2(){
  return Lcom_google_gwt_animation_client_Animation$1_2_classLit;
}
;
_.this$0 = null;
function AnimationScheduler(){
}

_ = AnimationScheduler.prototype = new Object_0;
_.getClass$ = function getClass_3(){
  return Lcom_google_gwt_animation_client_AnimationScheduler_2_classLit;
}
;
function AnimationScheduler$AnimationHandle(){
}

_ = AnimationScheduler$AnimationHandle.prototype = new Object_0;
_.getClass$ = function getClass_4(){
  return Lcom_google_gwt_animation_client_AnimationScheduler$AnimationHandle_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$AnimationScheduler$AnimationHandle]);
function $clinit_AnimationSchedulerImpl(){
  $clinit_AnimationSchedulerImpl = nullMethod;
  var impl;
  impl = new AnimationSchedulerImplWebkit_0;
  !!impl && (impl.isNativelySupported() || (impl = new AnimationSchedulerImplTimer_0));
  INSTANCE = impl;
}

function AnimationSchedulerImpl(){
}

_ = AnimationSchedulerImpl.prototype = new AnimationScheduler;
_.getClass$ = function getClass_5(){
  return Lcom_google_gwt_animation_client_AnimationSchedulerImpl_2_classLit;
}
;
var INSTANCE = null;
function $cancelAnimationFrame(this$static, requestId){
  $remove_2(this$static.animationRequests, requestId);
  this$static.animationRequests.size == 0 && $cancel_0(this$static.timer);
}

function $updateAnimations(this$static){
  var curAnimations, duration, requestId, requestId$index, requestId$max;
  curAnimations = initDim(_3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit, makeCastMap([Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1, Q$Serializable, Q$Object_$1]), Q$AnimationSchedulerImplTimer$AnimationHandleImpl, this$static.animationRequests.size, 0);
  curAnimations = dynamicCast($toArray_0(this$static.animationRequests, curAnimations), Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1);
  duration = new Duration_0;
  for (requestId$index = 0 , requestId$max = curAnimations.length; requestId$index < requestId$max; ++requestId$index) {
    requestId = curAnimations[requestId$index];
    $remove_2(this$static.animationRequests, requestId);
    $execute(requestId.callback, duration.start);
  }
  this$static.animationRequests.size > 0 && $schedule(this$static.timer, max(5, 16 - (currentTimeMillis() - duration.start)));
}

function AnimationSchedulerImplTimer_0(){
  this.animationRequests = new ArrayList_0;
  this.timer = new AnimationSchedulerImplTimer$1_0(this);
}

function AnimationSchedulerImplTimer(){
}

_ = AnimationSchedulerImplTimer_0.prototype = AnimationSchedulerImplTimer.prototype = new AnimationSchedulerImpl;
_.getClass$ = function getClass_6(){
  return Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer_2_classLit;
}
;
_.isNativelySupported = function isNativelySupported(){
  return true;
}
;
_.requestAnimationFrame = function requestAnimationFrame(callback, element){
  var requestId;
  requestId = new AnimationSchedulerImplTimer$AnimationHandleImpl_0(this, callback);
  $add_1(this.animationRequests, requestId);
  this.animationRequests.size == 1 && $schedule(this.timer, 16);
  return requestId;
}
;
function $clinit_Timer(){
  $clinit_Timer = nullMethod;
  timers = new ArrayList_0;
  addCloseHandler(new Timer$1_0);
}

function $cancel_0(this$static){
  this$static.isRepeating?clearInterval_0(this$static.timerId):clearTimeout_0(this$static.timerId);
  $remove_2(timers, this$static);
}

function $schedule(this$static, delayMillis){
  if (delayMillis <= 0) {
    throw new IllegalArgumentException_1('must be positive');
  }
  this$static.isRepeating?clearInterval_0(this$static.timerId):clearTimeout_0(this$static.timerId);
  $remove_2(timers, this$static);
  this$static.isRepeating = false;
  this$static.timerId = createTimeout(this$static, delayMillis);
  $add_1(timers, this$static);
}

function clearInterval_0(id){
  $wnd.clearInterval(id);
}

function clearTimeout_0(id){
  $wnd.clearTimeout(id);
}

function createTimeout(timer, delay){
  return $wnd.setTimeout($entry(function(){
    timer.fire();
  }
  ), delay);
}

function Timer(){
}

_ = Timer.prototype = new Object_0;
_.fire = function fire(){
  this.isRepeating || $remove_2(timers, this);
  this.run();
}
;
_.getClass$ = function getClass_7(){
  return Lcom_google_gwt_user_client_Timer_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Timer]);
_.isRepeating = false;
_.timerId = 0;
var timers;
function AnimationSchedulerImplTimer$1_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

function AnimationSchedulerImplTimer$1(){
}

_ = AnimationSchedulerImplTimer$1_0.prototype = AnimationSchedulerImplTimer$1.prototype = new Timer;
_.getClass$ = function getClass_8(){
  return Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$1_2_classLit;
}
;
_.run = function run(){
  $updateAnimations(this.this$0);
}
;
_.castableTypeMap$ = makeCastMap([Q$Timer]);
_.this$0 = null;
function AnimationSchedulerImplTimer$AnimationHandleImpl_0(this$0, callback){
  this.this$0 = this$0;
  this.callback = callback;
}

function AnimationSchedulerImplTimer$AnimationHandleImpl(){
}

_ = AnimationSchedulerImplTimer$AnimationHandleImpl_0.prototype = AnimationSchedulerImplTimer$AnimationHandleImpl.prototype = new AnimationScheduler$AnimationHandle;
_.cancel = function cancel(){
  $cancelAnimationFrame(this.this$0, this);
}
;
_.getClass$ = function getClass_9(){
  return Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$AnimationScheduler$AnimationHandle, Q$AnimationSchedulerImplTimer$AnimationHandleImpl]);
_.callback = null;
_.this$0 = null;
function $cancelAnimationFrameImpl(requestId){
  $wnd.webkitCancelRequestAnimationFrame(requestId);
}

function $requestAnimationFrameImpl(callback, element){
  var _callback = callback;
  var wrapper = $entry(function(time){
    time = time || currentTimeMillis();
    _callback.execute(time);
  }
  );
  return $wnd.webkitRequestAnimationFrame(wrapper, element);
}

function AnimationSchedulerImplWebkit_0(){
}

function AnimationSchedulerImplWebkit(){
}

_ = AnimationSchedulerImplWebkit_0.prototype = AnimationSchedulerImplWebkit.prototype = new AnimationSchedulerImpl;
_.getClass$ = function getClass_10(){
  return Lcom_google_gwt_animation_client_AnimationSchedulerImplWebkit_2_classLit;
}
;
_.isNativelySupported = function isNativelySupported_0(){
  return !!($wnd.webkitRequestAnimationFrame && $wnd.webkitCancelRequestAnimationFrame);
}
;
_.requestAnimationFrame = function requestAnimationFrame_0(callback, element){
  var requestId;
  requestId = $requestAnimationFrameImpl(callback, element);
  return new AnimationSchedulerImplWebkit$AnimationHandleImpl_0(requestId);
}
;
function AnimationSchedulerImplWebkit$AnimationHandleImpl_0(requestId){
  this.requestId = requestId;
}

function AnimationSchedulerImplWebkit$AnimationHandleImpl(){
}

_ = AnimationSchedulerImplWebkit$AnimationHandleImpl_0.prototype = AnimationSchedulerImplWebkit$AnimationHandleImpl.prototype = new AnimationScheduler$AnimationHandle;
_.cancel = function cancel_0(){
  $cancelAnimationFrameImpl(this.requestId);
}
;
_.getClass$ = function getClass_11(){
  return Lcom_google_gwt_animation_client_AnimationSchedulerImplWebkit$AnimationHandleImpl_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$AnimationScheduler$AnimationHandle]);
_.requestId = 0;
function $compareTo(this$static, other){
  return this$static.ordinal - other.ordinal;
}

function Enum_0(name_0, ordinal){
  this.name_0 = name_0;
  this.ordinal = ordinal;
}

function Enum(){
}

_ = Enum.prototype = new Object_0;
_.compareTo$ = function compareTo(other){
  return $compareTo(this, dynamicCast(other, Q$Enum));
}
;
_.equals$ = function equals_0(other){
  return this === other;
}
;
_.getClass$ = function getClass_12(){
  return Ljava_lang_Enum_2_classLit;
}
;
_.hashCode$ = function hashCode_1(){
  return getHashCode(this);
}
;
_.toString$ = function toString_1(){
  return this.name_0;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum]);
_.name_0 = null;
_.ordinal = 0;
function $clinit_Context2d$Composite(){
  $clinit_Context2d$Composite = nullMethod;
  COPY = new Context2d$Composite_0('COPY', 0);
  DESTINATION_ATOP = new Context2d$Composite_0('DESTINATION_ATOP', 1);
  DESTINATION_IN = new Context2d$Composite_0('DESTINATION_IN', 2);
  DESTINATION_OUT = new Context2d$Composite_0('DESTINATION_OUT', 3);
  DESTINATION_OVER = new Context2d$Composite_0('DESTINATION_OVER', 4);
  LIGHTER = new Context2d$Composite_0('LIGHTER', 5);
  SOURCE_ATOP = new Context2d$Composite_0('SOURCE_ATOP', 6);
  SOURCE_IN = new Context2d$Composite_0('SOURCE_IN', 7);
  SOURCE_OUT = new Context2d$Composite_0('SOURCE_OUT', 8);
  SOURCE_OVER = new Context2d$Composite_0('SOURCE_OVER', 9);
  XOR = new Context2d$Composite_0('XOR', 10);
  $VALUES = initValues(_3Lcom_google_gwt_canvas_dom_client_Context2d$Composite_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Context2d$Composite, [COPY, DESTINATION_ATOP, DESTINATION_IN, DESTINATION_OUT, DESTINATION_OVER, LIGHTER, SOURCE_ATOP, SOURCE_IN, SOURCE_OUT, SOURCE_OVER, XOR]);
}

function Context2d$Composite_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_0(){
  $clinit_Context2d$Composite();
  return $VALUES;
}

function Context2d$Composite(){
}

_ = Context2d$Composite_0.prototype = Context2d$Composite.prototype = new Enum;
_.getClass$ = function getClass_13(){
  return Lcom_google_gwt_canvas_dom_client_Context2d$Composite_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Context2d$Composite, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES, COPY, DESTINATION_ATOP, DESTINATION_IN, DESTINATION_OUT, DESTINATION_OVER, LIGHTER, SOURCE_ATOP, SOURCE_IN, SOURCE_OUT, SOURCE_OVER, XOR;
function $clinit_Context2d$LineCap(){
  $clinit_Context2d$LineCap = nullMethod;
  BUTT = new Context2d$LineCap_0('BUTT', 0);
  ROUND = new Context2d$LineCap_0('ROUND', 1);
  SQUARE = new Context2d$LineCap_0('SQUARE', 2);
  $VALUES_0 = initValues(_3Lcom_google_gwt_canvas_dom_client_Context2d$LineCap_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Context2d$LineCap, [BUTT, ROUND, SQUARE]);
}

function Context2d$LineCap_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_1(){
  $clinit_Context2d$LineCap();
  return $VALUES_0;
}

function Context2d$LineCap(){
}

_ = Context2d$LineCap_0.prototype = Context2d$LineCap.prototype = new Enum;
_.getClass$ = function getClass_14(){
  return Lcom_google_gwt_canvas_dom_client_Context2d$LineCap_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Context2d$LineCap, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_0, BUTT, ROUND, SQUARE;
function $clinit_Context2d$LineJoin(){
  $clinit_Context2d$LineJoin = nullMethod;
  BEVEL = new Context2d$LineJoin_0('BEVEL', 0);
  MITER = new Context2d$LineJoin_0('MITER', 1);
  ROUND_0 = new Context2d$LineJoin_0('ROUND', 2);
  $VALUES_1 = initValues(_3Lcom_google_gwt_canvas_dom_client_Context2d$LineJoin_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Context2d$LineJoin, [BEVEL, MITER, ROUND_0]);
}

function Context2d$LineJoin_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_2(){
  $clinit_Context2d$LineJoin();
  return $VALUES_1;
}

function Context2d$LineJoin(){
}

_ = Context2d$LineJoin_0.prototype = Context2d$LineJoin.prototype = new Enum;
_.getClass$ = function getClass_15(){
  return Lcom_google_gwt_canvas_dom_client_Context2d$LineJoin_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Context2d$LineJoin, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_1, BEVEL, MITER, ROUND_0;
function $clinit_Context2d$Repetition(){
  $clinit_Context2d$Repetition = nullMethod;
  NO_REPEAT = new Context2d$Repetition_0('NO_REPEAT', 0);
  REPEAT = new Context2d$Repetition_0('REPEAT', 1);
  REPEAT_X = new Context2d$Repetition_0('REPEAT_X', 2);
  REPEAT_Y = new Context2d$Repetition_0('REPEAT_Y', 3);
  $VALUES_2 = initValues(_3Lcom_google_gwt_canvas_dom_client_Context2d$Repetition_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Context2d$Repetition, [NO_REPEAT, REPEAT, REPEAT_X, REPEAT_Y]);
}

function Context2d$Repetition_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_3(){
  $clinit_Context2d$Repetition();
  return $VALUES_2;
}

function Context2d$Repetition(){
}

_ = Context2d$Repetition_0.prototype = Context2d$Repetition.prototype = new Enum;
_.getClass$ = function getClass_16(){
  return Lcom_google_gwt_canvas_dom_client_Context2d$Repetition_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Context2d$Repetition, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_2, NO_REPEAT, REPEAT, REPEAT_X, REPEAT_Y;
function $clinit_Context2d$TextAlign(){
  $clinit_Context2d$TextAlign = nullMethod;
  CENTER = new Context2d$TextAlign_0('CENTER', 0);
  END = new Context2d$TextAlign_0('END', 1);
  LEFT = new Context2d$TextAlign_0('LEFT', 2);
  RIGHT = new Context2d$TextAlign_0('RIGHT', 3);
  START = new Context2d$TextAlign_0('START', 4);
  $VALUES_3 = initValues(_3Lcom_google_gwt_canvas_dom_client_Context2d$TextAlign_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Context2d$TextAlign, [CENTER, END, LEFT, RIGHT, START]);
}

function Context2d$TextAlign_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_4(){
  $clinit_Context2d$TextAlign();
  return $VALUES_3;
}

function Context2d$TextAlign(){
}

_ = Context2d$TextAlign_0.prototype = Context2d$TextAlign.prototype = new Enum;
_.getClass$ = function getClass_17(){
  return Lcom_google_gwt_canvas_dom_client_Context2d$TextAlign_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Context2d$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_3, CENTER, END, LEFT, RIGHT, START;
function $clinit_Context2d$TextBaseline(){
  $clinit_Context2d$TextBaseline = nullMethod;
  ALPHABETIC = new Context2d$TextBaseline_0('ALPHABETIC', 0);
  BOTTOM = new Context2d$TextBaseline_0('BOTTOM', 1);
  HANGING = new Context2d$TextBaseline_0('HANGING', 2);
  IDEOGRAPHIC = new Context2d$TextBaseline_0('IDEOGRAPHIC', 3);
  MIDDLE = new Context2d$TextBaseline_0('MIDDLE', 4);
  TOP = new Context2d$TextBaseline_0('TOP', 5);
  $VALUES_4 = initValues(_3Lcom_google_gwt_canvas_dom_client_Context2d$TextBaseline_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Context2d$TextBaseline, [ALPHABETIC, BOTTOM, HANGING, IDEOGRAPHIC, MIDDLE, TOP]);
}

function Context2d$TextBaseline_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_5(){
  $clinit_Context2d$TextBaseline();
  return $VALUES_4;
}

function Context2d$TextBaseline(){
}

_ = Context2d$TextBaseline_0.prototype = Context2d$TextBaseline.prototype = new Enum;
_.getClass$ = function getClass_18(){
  return Lcom_google_gwt_canvas_dom_client_Context2d$TextBaseline_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Context2d$TextBaseline, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_4, ALPHABETIC, BOTTOM, HANGING, IDEOGRAPHIC, MIDDLE, TOP;
function deserialize(streamReader, instance){
}

function instantiate(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Context2d$Composite() , $clinit_Context2d$Composite() , $VALUES);
  return values[ordinal];
}

function deserialize_0(streamReader, instance){
}

function instantiate_0(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Context2d$LineCap() , $clinit_Context2d$LineCap() , $VALUES_0);
  return values[ordinal];
}

function deserialize_1(streamReader, instance){
}

function instantiate_1(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Context2d$LineJoin() , $clinit_Context2d$LineJoin() , $VALUES_1);
  return values[ordinal];
}

function deserialize_2(streamReader, instance){
}

function instantiate_2(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Context2d$Repetition() , $clinit_Context2d$Repetition() , $VALUES_2);
  return values[ordinal];
}

function deserialize_3(streamReader, instance){
}

function instantiate_3(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Context2d$TextAlign() , $clinit_Context2d$TextAlign() , $VALUES_3);
  return values[ordinal];
}

function deserialize_4(streamReader, instance){
}

function instantiate_4(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Context2d$TextBaseline() , $clinit_Context2d$TextBaseline() , $VALUES_4);
  return values[ordinal];
}

function $onBrowserEvent(event_0){
  var eventType;
  eventType = event_0.type;
  $equals_1('keydown', eventType) && (event_0.keyCode || 0) == 13 && undefined;
}

function AbstractCell_0(consumedEvents){
  var event_0, event$index, event$max, events;
  events = null;
  if (consumedEvents != null && consumedEvents.length > 0) {
    events = new HashSet_0;
    for (event$index = 0 , event$max = consumedEvents.length; event$index < event$max; ++event$index) {
      event_0 = consumedEvents[event$index];
      $add_8(events, event_0);
    }
  }
  !!events && (this.consumedEvents = ($clinit_Collections() , new Collections$UnmodifiableSet_0(events)));
}

function AbstractCell(){
}

_ = AbstractCell.prototype = new Object_0;
_.getClass$ = function getClass_19(){
  return Lcom_google_gwt_cell_client_AbstractCell_2_classLit;
}
;
_.consumedEvents = null;
function $render(data, sb){
  data != null && $render_0(data == null?($clinit_SafeHtmlUtils() , EMPTY_SAFE_HTML):($clinit_SafeHtmlUtils() , new SafeHtmlString_0(htmlEscape(data))), sb);
}

function AbstractSafeHtmlCell_0(renderer, consumedEvents){
  AbstractCell_0.call(this, consumedEvents);
  if (!renderer) {
    throw new IllegalArgumentException_1('renderer == null');
  }
}

function AbstractSafeHtmlCell(){
}

_ = AbstractSafeHtmlCell.prototype = new AbstractCell;
_.getClass$ = function getClass_20(){
  return Lcom_google_gwt_cell_client_AbstractSafeHtmlCell_2_classLit;
}
;
function $clinit_ButtonCellBase$Decoration(){
  $clinit_ButtonCellBase$Decoration = nullMethod;
  DEFAULT = new ButtonCellBase$Decoration_0('DEFAULT', 0);
  PRIMARY = new ButtonCellBase$Decoration_0('PRIMARY', 1);
  NEGATIVE = new ButtonCellBase$Decoration_0('NEGATIVE', 2);
  $VALUES_5 = initValues(_3Lcom_google_gwt_cell_client_ButtonCellBase$Decoration_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$ButtonCellBase$Decoration, [DEFAULT, PRIMARY, NEGATIVE]);
}

function ButtonCellBase$Decoration_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_6(){
  $clinit_ButtonCellBase$Decoration();
  return $VALUES_5;
}

function ButtonCellBase$Decoration(){
}

_ = ButtonCellBase$Decoration_0.prototype = ButtonCellBase$Decoration.prototype = new Enum;
_.getClass$ = function getClass_21(){
  return Lcom_google_gwt_cell_client_ButtonCellBase$Decoration_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ButtonCellBase$Decoration, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_5, DEFAULT, NEGATIVE, PRIMARY;
function deserialize_5(streamReader, instance){
}

function instantiate_5(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_ButtonCellBase$Decoration() , $clinit_ButtonCellBase$Decoration() , $VALUES_5);
  return values[ordinal];
}

function $render_0(value, sb){
  !!value && ($append_9(sb.sb, value.html) , sb);
}

function TextCell_0(){
  AbstractSafeHtmlCell_0.call(this, (!instance_0 && (instance_0 = new SimpleSafeHtmlRenderer_0) , instance_0), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, []));
}

function TextCell(){
}

_ = TextCell_0.prototype = TextCell.prototype = new AbstractSafeHtmlCell;
_.getClass$ = function getClass_22(){
  return Lcom_google_gwt_cell_client_TextCell_2_classLit;
}
;
function $clinit_CodeDownloadException$Reason(){
  $clinit_CodeDownloadException$Reason = nullMethod;
  TERMINATED = new CodeDownloadException$Reason_0;
  $VALUES_6 = initValues(_3Lcom_google_gwt_core_client_CodeDownloadException$Reason_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$CodeDownloadException$Reason, [TERMINATED]);
}

function CodeDownloadException$Reason_0(){
  Enum_0.call(this, 'TERMINATED', 0);
}

function values_7(){
  $clinit_CodeDownloadException$Reason();
  return $VALUES_6;
}

function CodeDownloadException$Reason(){
}

_ = CodeDownloadException$Reason_0.prototype = CodeDownloadException$Reason.prototype = new Enum;
_.getClass$ = function getClass_23(){
  return Lcom_google_gwt_core_client_CodeDownloadException$Reason_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$CodeDownloadException$Reason, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_6, TERMINATED;
function deserialize_6(streamReader, instance){
}

function instantiate_6(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_CodeDownloadException$Reason() , $clinit_CodeDownloadException$Reason() , $VALUES_6);
  return values[ordinal];
}

function $elapsedMillis(this$static){
  return currentTimeMillis() - this$static.start;
}

function Duration_0(){
  this.start = currentTimeMillis();
}

function currentTimeMillis(){
  return (new Date).getTime();
}

function Duration(){
}

_ = Duration_0.prototype = Duration.prototype = new Object_0;
_.getClass$ = function getClass_24(){
  return Lcom_google_gwt_core_client_Duration_2_classLit;
}
;
function $initCause(this$static, cause){
  if (this$static.cause) {
    throw new IllegalStateException_1("Can't overwrite cause");
  }
  if (cause == this$static) {
    throw new IllegalArgumentException_1('Self-causation not permitted');
  }
  this$static.cause = cause;
  return this$static;
}

--></script>
<script><!--
function $setStackTrace(stackTrace){
  var c, copy, i;
  copy = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1, Q$StackTraceElement_$1]), Q$StackTraceElement, stackTrace.length, 0);
  for (i = 0 , c = stackTrace.length; i < c; ++i) {
    if (!stackTrace[i]) {
      throw new NullPointerException_0;
    }
    copy[i] = stackTrace[i];
  }
}

function Throwable_0(){
  $fillInStackTrace();
}

function Throwable_1(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

function Throwable_2(message, cause){
  $fillInStackTrace();
  this.cause = cause;
  this.detailMessage = message;
}

function Throwable(){
}

_ = Throwable_2.prototype = Throwable_1.prototype = Throwable_0.prototype = Throwable.prototype = new Object_0;
_.getClass$ = function getClass_25(){
  return Ljava_lang_Throwable_2_classLit;
}
;
_.getMessage = function getMessage(){
  return this.detailMessage;
}
;
_.toString$ = function toString_2(){
  var className, msg;
  return className = this.getClass$().typeName , msg = this.getMessage() , msg != null?className + ': ' + msg:className;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
_.cause = null;
_.detailMessage = null;
function Exception_0(){
  $fillInStackTrace();
}

function Exception_1(message){
  Throwable_1.call(this, message);
}

function Exception(){
}

_ = Exception_0.prototype = Exception.prototype = new Throwable;
_.getClass$ = function getClass_26(){
  return Ljava_lang_Exception_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function RuntimeException_0(){
  $fillInStackTrace();
}

function RuntimeException_1(message){
  Exception_1.call(this, message);
}

function RuntimeException_2(message, cause){
  Throwable_2.call(this, message, cause);
}

function RuntimeException(){
}

_ = RuntimeException_1.prototype = RuntimeException_0.prototype = RuntimeException.prototype = new Exception;
_.getClass$ = function getClass_27(){
  return Ljava_lang_RuntimeException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function JavaScriptException_0(e){
  $fillInStackTrace();
  this.e = e;
  $createStackTrace(new StackTraceCreator$CollectorChrome_0, this);
}

function getDescription(e){
  return instanceOfJso(e)?getDescription0(dynamicCastJso(e)):e + '';
}

function getDescription0(e){
  return e == null?null:e.message;
}

function getName(e){
  return e == null?'null':instanceOfJso(e)?getName0(dynamicCastJso(e)):instanceOf(e, Q$String)?'String':getClass__devirtual$(e).typeName;
}

function getName0(e){
  return e == null?null:e.name;
}

function getProperties(e){
  return instanceOfJso(e)?$getProperties(dynamicCastJso(e)):'';
}

function JavaScriptException(){
}

_ = JavaScriptException_0.prototype = JavaScriptException.prototype = new RuntimeException;
_.getClass$ = function getClass_28(){
  return Lcom_google_gwt_core_client_JavaScriptException_2_classLit;
}
;
_.getMessage = function getMessage_0(){
  return this.message_0 == null && (this.name_0 = getName(this.e) , this.description = getDescription(this.e) , this.message_0 = '(' + this.name_0 + '): ' + this.description + getProperties(this.e) , undefined) , this.message_0;
}
;
_.castableTypeMap$ = makeCastMap([Q$JavaScriptException, Q$Serializable, Q$RuntimeException, Q$Throwable]);
_.description = null;
_.e = null;
_.message_0 = null;
_.name_0 = null;
function equals__devirtual$(this$static, other){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.equals$(other):maybeJsoInvocation === other;
}

function getClass__devirtual$(this$static){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit;
}

function hashCode__devirtual$(this$static){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.hashCode$():getHashCode(maybeJsoInvocation);
}

function $push(this$static, value){
  this$static[this$static.length] = value;
}

function $setTime(this$static, milliseconds){
  return this$static.setTime(milliseconds);
}

function create(milliseconds){
  return new Date(milliseconds);
}

function Scheduler(){
}

_ = Scheduler.prototype = new Object_0;
_.getClass$ = function getClass_29(){
  return Lcom_google_gwt_core_client_Scheduler_2_classLit;
}
;
function apply(jsFunction, thisObj, arguments_0){
  return jsFunction.apply(thisObj, arguments_0);
  var __0;
}

function enter(){
  if (entryDepth++ == 0) {
    $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE_0));
    return true;
  }
  return false;
}

function entry_0(jsFunction){
  return function(){
    try {
      return entry0(jsFunction, this, arguments);
    }
     catch (e) {
      throw e;
    }
  }
  ;
}

function entry0(jsFunction, thisObj, arguments_0){
  var initialEntry;
  initialEntry = enter();
  try {
    return apply(jsFunction, thisObj, arguments_0);
  }
   finally {
    initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE_0));
    --entryDepth;
  }
}

function getHashCode(o){
  return o.$H || (o.$H = ++sNextHashId);
}

var entryDepth = 0, sNextHashId = 0;
function $clinit_SchedulerImpl(){
  $clinit_SchedulerImpl = nullMethod;
  INSTANCE_0 = new SchedulerImpl_0;
}

function $flushEntryCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.entryCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.entryCommands;
      this$static.entryCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.entryCommands);
    this$static.entryCommands = rescheduled;
  }
}

function $flushFinallyCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.finallyCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.finallyCommands;
      this$static.finallyCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.finallyCommands);
    this$static.finallyCommands = rescheduled;
  }
}

function $flushPostEventPumpCommands(this$static){
  var oldDeferred;
  if (this$static.deferredCommands) {
    oldDeferred = this$static.deferredCommands;
    this$static.deferredCommands = null;
    !this$static.incrementalCommands && (this$static.incrementalCommands = []);
    runScheduledTasks(oldDeferred, this$static.incrementalCommands);
  }
  !!this$static.incrementalCommands && (this$static.incrementalCommands = runRepeatingTasks(this$static.incrementalCommands));
}

function $isWorkQueued(this$static){
  return !!this$static.deferredCommands || !!this$static.incrementalCommands;
}

function $maybeSchedulePostEventPumpCommands(this$static){
  if (!this$static.shouldBeRunning) {
    this$static.shouldBeRunning = true;
    !this$static.flusher && (this$static.flusher = new SchedulerImpl$Flusher_0(this$static));
    scheduleFixedDelayImpl(this$static.flusher, 1);
    !this$static.rescue && (this$static.rescue = new SchedulerImpl$Rescuer_0(this$static));
    scheduleFixedDelayImpl(this$static.rescue, 50);
  }
}

function $scheduleDeferred(this$static, cmd){
  this$static.deferredCommands = push(this$static.deferredCommands, [cmd, false]);
  $maybeSchedulePostEventPumpCommands(this$static);
}

function $scheduleFinally(this$static, cmd){
  this$static.finallyCommands = push(this$static.finallyCommands, [cmd, false]);
}

function SchedulerImpl_0(){
}

function execute_0(cmd){
  return cmd.execute_0();
}

function push(queue, task){
  !queue && (queue = []);
  queue[queue.length] = task;
  return queue;
}

function runRepeatingTasks(tasks){
  var canceledSomeTasks, i, length_0, newTasks, start, t;
  length_0 = tasks.length;
  if (length_0 == 0) {
    return null;
  }
  canceledSomeTasks = false;
  start = currentTimeMillis();
  while (currentTimeMillis() - start < 100) {
    for (i = 0; i < length_0; ++i) {
      t = tasks[i];
      if (!t) {
        continue;
      }
      if (!t[0].execute_0()) {
        tasks[i] = null;
        canceledSomeTasks = true;
      }
    }
  }
  if (canceledSomeTasks) {
    newTasks = [];
    for (i = 0; i < length_0; ++i) {
      !!tasks[i] && (newTasks[newTasks.length] = tasks[i] , undefined);
    }
    return newTasks.length == 0?null:newTasks;
  }
   else {
    return tasks;
  }
}

function runScheduledTasks(tasks, rescheduled){
  var $e0, i, j, t;
  for (i = 0 , j = tasks.length; i < j; ++i) {
    t = tasks[i];
    try {
      t[1]?t[0].execute_0() && (rescheduled = push(rescheduled, t)):t[0].execute_1();
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (!instanceOf($e0, Q$RuntimeException))
        throw $e0;
    }
  }
  return rescheduled;
}

function scheduleFixedDelayImpl(cmd, delayMs){
  $clinit_SchedulerImpl();
  $wnd.setTimeout(function(){
    var ret = $entry(execute_0)(cmd);
    ret && $wnd.setTimeout(arguments.callee, delayMs);
  }
  , delayMs);
}

function SchedulerImpl(){
}

_ = SchedulerImpl_0.prototype = SchedulerImpl.prototype = new Scheduler;
_.getClass$ = function getClass_30(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit;
}
;
_.deferredCommands = null;
_.entryCommands = null;
_.finallyCommands = null;
_.flushRunning = false;
_.flusher = null;
_.incrementalCommands = null;
_.rescue = null;
_.shouldBeRunning = false;
var INSTANCE_0;
function SchedulerImpl$Flusher_0(this$0){
  this.this$0 = this$0;
}

function SchedulerImpl$Flusher(){
}

_ = SchedulerImpl$Flusher_0.prototype = SchedulerImpl$Flusher.prototype = new Object_0;
_.execute_0 = function execute_1(){
  this.this$0.flushRunning = true;
  $flushPostEventPumpCommands(this.this$0);
  this.this$0.flushRunning = false;
  return this.this$0.shouldBeRunning = $isWorkQueued(this.this$0);
}
;
_.getClass$ = function getClass_31(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl$Flusher_2_classLit;
}
;
_.this$0 = null;
function SchedulerImpl$Rescuer_0(this$0){
  this.this$0 = this$0;
}

function SchedulerImpl$Rescuer(){
}

_ = SchedulerImpl$Rescuer_0.prototype = SchedulerImpl$Rescuer.prototype = new Object_0;
_.execute_0 = function execute_2(){
  this.this$0.flushRunning && scheduleFixedDelayImpl(this.this$0.flusher, 1);
  return this.this$0.shouldBeRunning;
}
;
_.getClass$ = function getClass_32(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl$Rescuer_2_classLit;
}
;
_.this$0 = null;
function $getThrowable(this$static){
  var t;
  this$static.cause?(t = new Throwable_2(this$static.message_0, $getThrowable(this$static.cause))):(t = new Throwable_1(this$static.message_0));
  $setStackTrace(this$static.stackTrace);
  return t;
}

function SerializableThrowable_0(){
}

function SerializableThrowable(){
}

_ = SerializableThrowable_0.prototype = SerializableThrowable.prototype = new Object_0;
_.getClass$ = function getClass_33(){
  return Lcom_google_gwt_core_client_impl_SerializableThrowable_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$SerializableThrowable, Q$Serializable]);
_.cause = null;
_.message_0 = null;
_.stackTrace = null;
function deserialize_7(streamReader, instance){
  setCause(instance, dynamicCast($readObject(streamReader), Q$SerializableThrowable));
  setMessage(instance, $getString(streamReader, $readInt(streamReader)));
  setStackTrace(instance, dynamicCast($readObject(streamReader), Q$StackTraceElement_$1));
}

function instantiate_7(streamReader){
  return new SerializableThrowable_0;
}

function setCause(instance, value){
  instance.cause = value;
}

function setMessage(instance, value){
  instance.message_0 = value;
}

function setStackTrace(instance, value){
  instance.stackTrace = value;
}

function extractNameFromToString(fnToString){
  var index, start, toReturn;
  toReturn = '';
  fnToString = $trim(fnToString);
  index = fnToString.indexOf('(');
  if (index != -1) {
    start = fnToString.indexOf('function') == 0?8:0;
    toReturn = $trim(fnToString.substr(start, index - start));
  }
  return toReturn.length > 0?toReturn:'anonymous';
}

function splice(arr, length_0){
  arr.length >= length_0 && arr.splice(0, length_0);
  return arr;
}

function $createStackTrace(this$static, e){
  var i, j, stack, stackTrace;
  stack = $inferFrom_0(this$static, instanceOfJso(e.e)?dynamicCastJso(e.e):null);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1, Q$StackTraceElement_$1]), Q$StackTraceElement, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = new StackTraceElement_0('Unknown', stack[i], null, -1);
  }
  $setStackTrace(stackTrace);
}

function $fillInStackTrace(){
  var i, j, stack, stackTrace;
  stack = $collect(new StackTraceCreator$CollectorChrome_0);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1, Q$StackTraceElement_$1]), Q$StackTraceElement, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = new StackTraceElement_0('Unknown', stack[i], null, -1);
  }
  $setStackTrace(stackTrace);
}

function $getProperties(e){
  var result = '';
  try {
    for (var prop in e) {
      if (prop != 'name' && prop != 'message' && prop != 'toString') {
        try {
          result += '\n ' + prop + ': ' + e[prop];
        }
         catch (ignored) {
        }
      }
    }
  }
   catch (ignored) {
  }
  return result;
}

function $makeException(){
  try {
    null.a();
  }
   catch (e) {
    return e;
  }
}

function StackTraceCreator$Collector_0(){
}

function StackTraceCreator$Collector(){
}

_ = StackTraceCreator$Collector_0.prototype = StackTraceCreator$Collector.prototype = new Object_0;
_.collect = function collect(){
  var seen = {};
  var toReturn = [];
  var callee = arguments.callee.caller.caller;
  while (callee) {
    var name_0 = this.extractName(callee.toString());
    toReturn.push(name_0);
    var keyName = ':' + name_0;
    var withThisName = seen[keyName];
    if (withThisName) {
      var i, j;
      for (i = 0 , j = withThisName.length; i < j; i++) {
        if (withThisName[i] === callee) {
          return toReturn;
        }
      }
    }
    (withThisName || (seen[keyName] = [])).push(callee);
    callee = callee.caller;
  }
  return toReturn;
}
;
_.extractName = function extractName(fnToString){
  return extractNameFromToString(fnToString);
}
;
_.getClass$ = function getClass_34(){
  return Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit;
}
;
_.inferFrom = function inferFrom(e){
  return [];
}
;
function $inferFrom(this$static, e){
  var i, j, stack;
  stack = e && e.stack?e.stack.split('\n'):[];
  for (i = 0 , j = stack.length; i < j; ++i) {
    stack[i] = this$static.extractName(stack[i]);
  }
  return stack;
}

function StackTraceCreator$CollectorMoz(){
}

_ = StackTraceCreator$CollectorMoz.prototype = new StackTraceCreator$Collector;
_.collect = function collect_0(){
  return splice(this.inferFrom($makeException()), this.toSplice());
}
;
_.getClass$ = function getClass_35(){
  return Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorMoz_2_classLit;
}
;
_.inferFrom = function inferFrom_0(e){
  return $inferFrom(this, e);
}
;
_.toSplice = function toSplice(){
  return 2;
}
;
function $collect(this$static){
  var res;
  res = splice($inferFrom_0(this$static, $makeException()), 3);
  res.length == 0 && (res = splice((new StackTraceCreator$Collector_0).collect(), 1));
  return res;
}

function $inferFrom_0(this$static, e){
  var stack;
  stack = $inferFrom(this$static, e);
  return stack.length == 0?(new StackTraceCreator$Collector_0).inferFrom(e):splice(stack, 1);
}

function StackTraceCreator$CollectorChrome_0(){
}

function StackTraceCreator$CollectorChrome(){
}

_ = StackTraceCreator$CollectorChrome_0.prototype = StackTraceCreator$CollectorChrome.prototype = new StackTraceCreator$CollectorMoz;
_.collect = function collect_1(){
  return $collect(this);
}
;
_.extractName = function extractName_0(fnToString){
  var index, toReturn;
  if (fnToString.length == 0) {
    return 'anonymous';
  }
  toReturn = $trim(fnToString);
  toReturn.indexOf('at ') == 0 && (toReturn = $substring(toReturn, 3));
  index = toReturn.indexOf('[');
  index == -1 && (index = toReturn.indexOf('('));
  if (index == -1) {
    return 'anonymous';
  }
   else {
    toReturn = $trim(toReturn.substr(0, index - 0));
  }
  index = $indexOf_2(toReturn, String.fromCharCode(46));
  index != -1 && (toReturn = $substring(toReturn, index + 1));
  return toReturn.length > 0?toReturn:'anonymous';
}
;
_.getClass$ = function getClass_36(){
  return Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorChrome_2_classLit;
}
;
_.inferFrom = function inferFrom_1(e){
  return $inferFrom_0(this, e);
}
;
_.toSplice = function toSplice_0(){
  return 3;
}
;
function StringBufferImpl(){
}

_ = StringBufferImpl.prototype = new Object_0;
_.getClass$ = function getClass_37(){
  return Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit;
}
;
function $append(this$static, x){
  this$static.string += x;
}

function $append_0(this$static, x){
  this$static.string += x;
}

function $append_1(this$static, x){
  this$static.string += x;
}

function $appendNonNull(this$static, x){
  this$static.string += x;
}

function $replace(this$static, start, end, toInsert){
  this$static.string = $substring_0(this$static.string, 0, start) + toInsert + $substring(this$static.string, end);
}

function StringBufferImplAppend_0(){
}

function StringBufferImplAppend(){
}

_ = StringBufferImplAppend_0.prototype = StringBufferImplAppend.prototype = new StringBufferImpl;
_.getClass$ = function getClass_38(){
  return Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit;
}
;
_.string = '';
function $appendChild(this$static, newChild){
  return this$static.appendChild(newChild);
}

function $getChild(this$static, index){
  return this$static.childNodes[index];
}

function $insertBefore(this$static, newChild, refChild){
  return this$static.insertBefore(newChild, refChild);
}

function $removeChild(this$static, oldChild){
  return this$static.removeChild(oldChild);
}

function $replaceChild(this$static, newChild, oldChild){
  return this$static.replaceChild(newChild, oldChild);
}

function is(o){
  try {
    return !!o && !!o.nodeType;
  }
   catch (e) {
    return false;
  }
}

function $addClassName(this$static, className){
  var idx, last, lastPos, oldClassName;
  className = $trim(className);
  oldClassName = this$static.className;
  idx = oldClassName.indexOf(className);
  while (idx != -1) {
    if (idx == 0 || oldClassName.charCodeAt(idx - 1) == 32) {
      last = idx + className.length;
      lastPos = oldClassName.length;
      if (last == lastPos || last < lastPos && oldClassName.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldClassName.indexOf(className, idx + 1);
  }
  if (idx == -1) {
    oldClassName.length > 0 && (oldClassName += ' ');
    this$static.className = oldClassName + className;
  }
}

function $getPropertyInt(this$static, name_0){
  return parseInt(this$static[name_0]) || 0;
}

function $getPropertyString(this$static, name_0){
  return this$static[name_0] == null?null:String(this$static[name_0]);
}

function $removeClassName(this$static, className){
  var begin, end, idx, last, lastPos, newClassName, oldStyle;
  className = $trim(className);
  oldStyle = this$static.className;
  idx = oldStyle.indexOf(className);
  while (idx != -1) {
    if (idx == 0 || oldStyle.charCodeAt(idx - 1) == 32) {
      last = idx + className.length;
      lastPos = oldStyle.length;
      if (last == lastPos || last < lastPos && oldStyle.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldStyle.indexOf(className, idx + 1);
  }
  if (idx != -1) {
    begin = $trim(oldStyle.substr(0, idx - 0));
    end = $trim($substring(oldStyle, idx + className.length));
    begin.length == 0?(newClassName = end):end.length == 0?(newClassName = begin):(newClassName = begin + ' ' + end);
    this$static.className = newClassName;
  }
}

function $setInnerHTML(this$static, html){
  this$static.innerHTML = html || '';
}

function $setScrollTop(this$static, scrollTop){
  this$static.scrollTop = scrollTop;
}

function $setTabIndex(this$static, tabIndex){
  this$static.tabIndex = tabIndex;
}

function is_0(o){
  if (is(o)) {
    return !!o && o.nodeType == 1;
  }
  return false;
}

function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function $getNextSiblingElement(elem){
  var sib = elem.nextSibling;
  while (sib && sib.nodeType != 1)
    sib = sib.nextSibling;
  return sib;
}

function $getParentElement(node){
  var parent_0 = node.parentNode;
  (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null);
  return parent_0;
}

function $dispatchEvent(target, evt){
  target.dispatchEvent(evt);
}

function $setInnerText(elem, text){
  elem.textContent = text || '';
}

function $getAbsoluteLeft(elem){
  var rect;
  rect = getBoundingClientRect(elem);
  return rect?rect.left + $getScrollLeft(elem.ownerDocument.body):getAbsoluteLeftUsingOffsets(elem);
}

function $getAbsoluteTop(elem){
  var rect;
  rect = getBoundingClientRect(elem);
  return rect?rect.top + (elem.ownerDocument.body.scrollTop || 0):getAbsoluteTopUsingOffsets(elem);
}

function $getScrollLeft(elem){
  if ($isRTL(elem)) {
    return (elem.scrollLeft || 0) - ((elem.scrollWidth || 0) - elem.clientWidth);
  }
  return elem.scrollLeft || 0;
}

function $getTabIndex(elem){
  return typeof elem.tabIndex != 'undefined'?elem.tabIndex:-1;
}

function $isOrHasChild(parent_0, child){
  while (child) {
    if (parent_0 == child) {
      return true;
    }
    child = child.parentNode;
    child && child.nodeType != 1 && (child = null);
  }
  return false;
}

function $isRTL(elem){
  return elem.ownerDocument.defaultView.getComputedStyle(elem, '').direction == 'rtl';
}

function $setScrollLeft(elem, left){
  $isRTL(elem) && (left += (elem.scrollWidth || 0) - elem.clientWidth);
  elem.scrollLeft = left;
}

function getAbsoluteLeftUsingOffsets(elem){
  if (elem.offsetLeft == null) {
    return 0;
  }
  var left = 0;
  var doc = elem.ownerDocument;
  var curr = elem.parentNode;
  if (curr) {
    while (curr.offsetParent) {
      left -= curr.scrollLeft;
      doc.defaultView.getComputedStyle(curr, '').getPropertyValue('direction') == 'rtl' && (left += curr.scrollWidth - curr.clientWidth);
      curr = curr.parentNode;
    }
  }
  while (elem) {
    left += elem.offsetLeft;
    if (doc.defaultView.getComputedStyle(elem, '')['position'] == 'fixed') {
      left += doc.body.scrollLeft;
      return left;
    }
    var parent_0 = elem.offsetParent;
    parent_0 && $wnd.devicePixelRatio && (left += parseInt(doc.defaultView.getComputedStyle(parent_0, '').getPropertyValue('border-left-width')));
    if (parent_0 && parent_0.tagName == 'BODY' && elem.style.position == 'absolute') {
      break;
    }
    elem = parent_0;
  }
  return left;
}

function getAbsoluteTopUsingOffsets(elem){
  if (elem.offsetTop == null) {
    return 0;
  }
  var top_0 = 0;
  var doc = elem.ownerDocument;
  var curr = elem.parentNode;
  if (curr) {
    while (curr.offsetParent) {
      top_0 -= curr.scrollTop;
      curr = curr.parentNode;
    }
  }
  while (elem) {
    top_0 += elem.offsetTop;
    if (doc.defaultView.getComputedStyle(elem, '')['position'] == 'fixed') {
      top_0 += doc.body.scrollTop;
      return top_0;
    }
    var parent_0 = elem.offsetParent;
    parent_0 && $wnd.devicePixelRatio && (top_0 += parseInt(doc.defaultView.getComputedStyle(parent_0, '').getPropertyValue('border-top-width')));
    if (parent_0 && parent_0.tagName == 'BODY' && elem.style.position == 'absolute') {
      break;
    }
    elem = parent_0;
  }
  return top_0;
}

function getBoundingClientRect(element){
  return element.getBoundingClientRect && element.getBoundingClientRect();
}

function $getClientHeight(this$static){
  return ($equals_1(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientHeight;
}

function $getClientWidth(this$static){
  return ($equals_1(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientWidth;
}

function $getScrollHeight(this$static){
  return ($equals_1(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollHeight || 0;
}

function $getScrollWidth(this$static){
  return ($equals_1(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollWidth || 0;
}

function $clinit_Style$BorderStyle(){
  $clinit_Style$BorderStyle = nullMethod;
  NONE = new Style$BorderStyle$1_0;
  DOTTED = new Style$BorderStyle$2_0;
  DASHED = new Style$BorderStyle$3_0;
  HIDDEN = new Style$BorderStyle$4_0;
  SOLID = new Style$BorderStyle$5_0;
  $VALUES_7 = initValues(_3Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$BorderStyle, [NONE, DOTTED, DASHED, HIDDEN, SOLID]);
}

function values_8(){
  $clinit_Style$BorderStyle();
  return $VALUES_7;
}

function Style$BorderStyle(){
}

_ = Style$BorderStyle.prototype = new Enum;
_.getClass$ = function getClass_39(){
  return Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_7, DASHED, DOTTED, HIDDEN, NONE, SOLID;
function Style$BorderStyle$1_0(){
  Enum_0.call(this, 'NONE', 0);
}

function Style$BorderStyle$1(){
}

_ = Style$BorderStyle$1_0.prototype = Style$BorderStyle$1.prototype = new Style$BorderStyle;
_.getClass$ = function getClass_40(){
  return Lcom_google_gwt_dom_client_Style$BorderStyle$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$BorderStyle$2_0(){
  Enum_0.call(this, 'DOTTED', 1);
}

function Style$BorderStyle$2(){
}

_ = Style$BorderStyle$2_0.prototype = Style$BorderStyle$2.prototype = new Style$BorderStyle;
_.getClass$ = function getClass_41(){
  return Lcom_google_gwt_dom_client_Style$BorderStyle$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$BorderStyle$3_0(){
  Enum_0.call(this, 'DASHED', 2);
}

function Style$BorderStyle$3(){
}

_ = Style$BorderStyle$3_0.prototype = Style$BorderStyle$3.prototype = new Style$BorderStyle;
_.getClass$ = function getClass_42(){
  return Lcom_google_gwt_dom_client_Style$BorderStyle$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$BorderStyle$4_0(){
  Enum_0.call(this, 'HIDDEN', 3);
}

function Style$BorderStyle$4(){
}

_ = Style$BorderStyle$4_0.prototype = Style$BorderStyle$4.prototype = new Style$BorderStyle;
_.getClass$ = function getClass_43(){
  return Lcom_google_gwt_dom_client_Style$BorderStyle$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$BorderStyle$5_0(){
  Enum_0.call(this, 'SOLID', 4);
}

function Style$BorderStyle$5(){
}

_ = Style$BorderStyle$5_0.prototype = Style$BorderStyle$5.prototype = new Style$BorderStyle;
_.getClass$ = function getClass_44(){
  return Lcom_google_gwt_dom_client_Style$BorderStyle$5_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$Cursor(){
  $clinit_Style$Cursor = nullMethod;
  DEFAULT_0 = new Style$Cursor$1_0;
  AUTO = new Style$Cursor$2_0;
  CROSSHAIR = new Style$Cursor$3_0;
  POINTER = new Style$Cursor$4_0;
  MOVE = new Style$Cursor$5_0;
  E_RESIZE = new Style$Cursor$6_0;
  NE_RESIZE = new Style$Cursor$7_0;
  NW_RESIZE = new Style$Cursor$8_0;
  N_RESIZE = new Style$Cursor$9_0;
  SE_RESIZE = new Style$Cursor$10_0;
  SW_RESIZE = new Style$Cursor$11_0;
  S_RESIZE = new Style$Cursor$12_0;
  W_RESIZE = new Style$Cursor$13_0;
  TEXT = new Style$Cursor$14_0;
  WAIT = new Style$Cursor$15_0;
  HELP = new Style$Cursor$16_0;
  COL_RESIZE = new Style$Cursor$17_0;
  ROW_RESIZE = new Style$Cursor$18_0;
  $VALUES_8 = initValues(_3Lcom_google_gwt_dom_client_Style$Cursor_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Cursor, [DEFAULT_0, AUTO, CROSSHAIR, POINTER, MOVE, E_RESIZE, NE_RESIZE, NW_RESIZE, N_RESIZE, SE_RESIZE, SW_RESIZE, S_RESIZE, W_RESIZE, TEXT, WAIT, HELP, COL_RESIZE, ROW_RESIZE]);
}

function values_9(){
  $clinit_Style$Cursor();
  return $VALUES_8;
}

function Style$Cursor(){
}

_ = Style$Cursor.prototype = new Enum;
_.getClass$ = function getClass_45(){
  return Lcom_google_gwt_dom_client_Style$Cursor_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_8, AUTO, COL_RESIZE, CROSSHAIR, DEFAULT_0, E_RESIZE, HELP, MOVE, NE_RESIZE, NW_RESIZE, N_RESIZE, POINTER, ROW_RESIZE, SE_RESIZE, SW_RESIZE, S_RESIZE, TEXT, WAIT, W_RESIZE;
function Style$Cursor$1_0(){
  Enum_0.call(this, 'DEFAULT', 0);
}

function Style$Cursor$1(){
}

_ = Style$Cursor$1_0.prototype = Style$Cursor$1.prototype = new Style$Cursor;
_.getClass$ = function getClass_46(){
  return Lcom_google_gwt_dom_client_Style$Cursor$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$10_0(){
  Enum_0.call(this, 'SE_RESIZE', 9);
}

function Style$Cursor$10(){
}

_ = Style$Cursor$10_0.prototype = Style$Cursor$10.prototype = new Style$Cursor;
--></script>
<script><!--
_.getClass$ = function getClass_47(){
  return Lcom_google_gwt_dom_client_Style$Cursor$10_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$11_0(){
  Enum_0.call(this, 'SW_RESIZE', 10);
}

function Style$Cursor$11(){
}

_ = Style$Cursor$11_0.prototype = Style$Cursor$11.prototype = new Style$Cursor;
_.getClass$ = function getClass_48(){
  return Lcom_google_gwt_dom_client_Style$Cursor$11_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$12_0(){
  Enum_0.call(this, 'S_RESIZE', 11);
}

function Style$Cursor$12(){
}

_ = Style$Cursor$12_0.prototype = Style$Cursor$12.prototype = new Style$Cursor;
_.getClass$ = function getClass_49(){
  return Lcom_google_gwt_dom_client_Style$Cursor$12_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$13_0(){
  Enum_0.call(this, 'W_RESIZE', 12);
}

function Style$Cursor$13(){
}

_ = Style$Cursor$13_0.prototype = Style$Cursor$13.prototype = new Style$Cursor;
_.getClass$ = function getClass_50(){
  return Lcom_google_gwt_dom_client_Style$Cursor$13_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$14_0(){
  Enum_0.call(this, 'TEXT', 13);
}

function Style$Cursor$14(){
}

_ = Style$Cursor$14_0.prototype = Style$Cursor$14.prototype = new Style$Cursor;
_.getClass$ = function getClass_51(){
  return Lcom_google_gwt_dom_client_Style$Cursor$14_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$15_0(){
  Enum_0.call(this, 'WAIT', 14);
}

function Style$Cursor$15(){
}

_ = Style$Cursor$15_0.prototype = Style$Cursor$15.prototype = new Style$Cursor;
_.getClass$ = function getClass_52(){
  return Lcom_google_gwt_dom_client_Style$Cursor$15_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$16_0(){
  Enum_0.call(this, 'HELP', 15);
}

function Style$Cursor$16(){
}

_ = Style$Cursor$16_0.prototype = Style$Cursor$16.prototype = new Style$Cursor;
_.getClass$ = function getClass_53(){
  return Lcom_google_gwt_dom_client_Style$Cursor$16_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$17_0(){
  Enum_0.call(this, 'COL_RESIZE', 16);
}

function Style$Cursor$17(){
}

_ = Style$Cursor$17_0.prototype = Style$Cursor$17.prototype = new Style$Cursor;
_.getClass$ = function getClass_54(){
  return Lcom_google_gwt_dom_client_Style$Cursor$17_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$18_0(){
  Enum_0.call(this, 'ROW_RESIZE', 17);
}

function Style$Cursor$18(){
}

_ = Style$Cursor$18_0.prototype = Style$Cursor$18.prototype = new Style$Cursor;
_.getClass$ = function getClass_55(){
  return Lcom_google_gwt_dom_client_Style$Cursor$18_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$2_0(){
  Enum_0.call(this, 'AUTO', 1);
}

function Style$Cursor$2(){
}

_ = Style$Cursor$2_0.prototype = Style$Cursor$2.prototype = new Style$Cursor;
_.getClass$ = function getClass_56(){
  return Lcom_google_gwt_dom_client_Style$Cursor$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$3_0(){
  Enum_0.call(this, 'CROSSHAIR', 2);
}

function Style$Cursor$3(){
}

_ = Style$Cursor$3_0.prototype = Style$Cursor$3.prototype = new Style$Cursor;
_.getClass$ = function getClass_57(){
  return Lcom_google_gwt_dom_client_Style$Cursor$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$4_0(){
  Enum_0.call(this, 'POINTER', 3);
}

function Style$Cursor$4(){
}

_ = Style$Cursor$4_0.prototype = Style$Cursor$4.prototype = new Style$Cursor;
_.getClass$ = function getClass_58(){
  return Lcom_google_gwt_dom_client_Style$Cursor$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$5_0(){
  Enum_0.call(this, 'MOVE', 4);
}

function Style$Cursor$5(){
}

_ = Style$Cursor$5_0.prototype = Style$Cursor$5.prototype = new Style$Cursor;
_.getClass$ = function getClass_59(){
  return Lcom_google_gwt_dom_client_Style$Cursor$5_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$6_0(){
  Enum_0.call(this, 'E_RESIZE', 5);
}

function Style$Cursor$6(){
}

_ = Style$Cursor$6_0.prototype = Style$Cursor$6.prototype = new Style$Cursor;
_.getClass$ = function getClass_60(){
  return Lcom_google_gwt_dom_client_Style$Cursor$6_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$7_0(){
  Enum_0.call(this, 'NE_RESIZE', 6);
}

function Style$Cursor$7(){
}

_ = Style$Cursor$7_0.prototype = Style$Cursor$7.prototype = new Style$Cursor;
_.getClass$ = function getClass_61(){
  return Lcom_google_gwt_dom_client_Style$Cursor$7_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$8_0(){
  Enum_0.call(this, 'NW_RESIZE', 7);
}

function Style$Cursor$8(){
}

_ = Style$Cursor$8_0.prototype = Style$Cursor$8.prototype = new Style$Cursor;
_.getClass$ = function getClass_62(){
  return Lcom_google_gwt_dom_client_Style$Cursor$8_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Cursor$9_0(){
  Enum_0.call(this, 'N_RESIZE', 8);
}

function Style$Cursor$9(){
}

_ = Style$Cursor$9_0.prototype = Style$Cursor$9.prototype = new Style$Cursor;
_.getClass$ = function getClass_63(){
  return Lcom_google_gwt_dom_client_Style$Cursor$9_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Cursor, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$Display(){
  $clinit_Style$Display = nullMethod;
  NONE_0 = new Style$Display$1_0;
  BLOCK = new Style$Display$2_0;
  INLINE = new Style$Display$3_0;
  INLINE_BLOCK = new Style$Display$4_0;
  $VALUES_9 = initValues(_3Lcom_google_gwt_dom_client_Style$Display_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Display, [NONE_0, BLOCK, INLINE, INLINE_BLOCK]);
}

function values_10(){
  $clinit_Style$Display();
  return $VALUES_9;
}

function Style$Display(){
}

_ = Style$Display.prototype = new Enum;
_.getClass$ = function getClass_64(){
  return Lcom_google_gwt_dom_client_Style$Display_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_9, BLOCK, INLINE, INLINE_BLOCK, NONE_0;
function Style$Display$1_0(){
  Enum_0.call(this, 'NONE', 0);
}

function Style$Display$1(){
}

_ = Style$Display$1_0.prototype = Style$Display$1.prototype = new Style$Display;
_.getClass$ = function getClass_65(){
  return Lcom_google_gwt_dom_client_Style$Display$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Display$2_0(){
  Enum_0.call(this, 'BLOCK', 1);
}

function Style$Display$2(){
}

_ = Style$Display$2_0.prototype = Style$Display$2.prototype = new Style$Display;
_.getClass$ = function getClass_66(){
  return Lcom_google_gwt_dom_client_Style$Display$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Display$3_0(){
  Enum_0.call(this, 'INLINE', 2);
}

function Style$Display$3(){
}

_ = Style$Display$3_0.prototype = Style$Display$3.prototype = new Style$Display;
_.getClass$ = function getClass_67(){
  return Lcom_google_gwt_dom_client_Style$Display$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Display$4_0(){
  Enum_0.call(this, 'INLINE_BLOCK', 3);
}

function Style$Display$4(){
}

_ = Style$Display$4_0.prototype = Style$Display$4.prototype = new Style$Display;
_.getClass$ = function getClass_68(){
  return Lcom_google_gwt_dom_client_Style$Display$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$Float(){
  $clinit_Style$Float = nullMethod;
  LEFT_0 = new Style$Float$1_0;
  RIGHT_0 = new Style$Float$2_0;
  NONE_1 = new Style$Float$3_0;
  $VALUES_10 = initValues(_3Lcom_google_gwt_dom_client_Style$Float_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Float, [LEFT_0, RIGHT_0, NONE_1]);
}

function values_11(){
  $clinit_Style$Float();
  return $VALUES_10;
}

function Style$Float(){
}

_ = Style$Float.prototype = new Enum;
_.getClass$ = function getClass_69(){
  return Lcom_google_gwt_dom_client_Style$Float_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Float, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_10, LEFT_0, NONE_1, RIGHT_0;
function Style$Float$1_0(){
  Enum_0.call(this, 'LEFT', 0);
}

function Style$Float$1(){
}

_ = Style$Float$1_0.prototype = Style$Float$1.prototype = new Style$Float;
_.getClass$ = function getClass_70(){
  return Lcom_google_gwt_dom_client_Style$Float$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Float, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Float$2_0(){
  Enum_0.call(this, 'RIGHT', 1);
}

function Style$Float$2(){
}

_ = Style$Float$2_0.prototype = Style$Float$2.prototype = new Style$Float;
_.getClass$ = function getClass_71(){
  return Lcom_google_gwt_dom_client_Style$Float$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Float, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Float$3_0(){
  Enum_0.call(this, 'NONE', 2);
}

function Style$Float$3(){
}

_ = Style$Float$3_0.prototype = Style$Float$3.prototype = new Style$Float;
_.getClass$ = function getClass_72(){
  return Lcom_google_gwt_dom_client_Style$Float$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Float, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$FontStyle(){
  $clinit_Style$FontStyle = nullMethod;
  NORMAL = new Style$FontStyle$1_0;
  ITALIC = new Style$FontStyle$2_0;
  OBLIQUE = new Style$FontStyle$3_0;
  $VALUES_11 = initValues(_3Lcom_google_gwt_dom_client_Style$FontStyle_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$FontStyle, [NORMAL, ITALIC, OBLIQUE]);
}

function values_12(){
  $clinit_Style$FontStyle();
  return $VALUES_11;
}

function Style$FontStyle(){
}

_ = Style$FontStyle.prototype = new Enum;
_.getClass$ = function getClass_73(){
  return Lcom_google_gwt_dom_client_Style$FontStyle_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_11, ITALIC, NORMAL, OBLIQUE;
function Style$FontStyle$1_0(){
  Enum_0.call(this, 'NORMAL', 0);
}

function Style$FontStyle$1(){
}

_ = Style$FontStyle$1_0.prototype = Style$FontStyle$1.prototype = new Style$FontStyle;
_.getClass$ = function getClass_74(){
  return Lcom_google_gwt_dom_client_Style$FontStyle$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$FontStyle$2_0(){
  Enum_0.call(this, 'ITALIC', 1);
}

function Style$FontStyle$2(){
}

_ = Style$FontStyle$2_0.prototype = Style$FontStyle$2.prototype = new Style$FontStyle;
_.getClass$ = function getClass_75(){
  return Lcom_google_gwt_dom_client_Style$FontStyle$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$FontStyle$3_0(){
  Enum_0.call(this, 'OBLIQUE', 2);
}

function Style$FontStyle$3(){
}

_ = Style$FontStyle$3_0.prototype = Style$FontStyle$3.prototype = new Style$FontStyle;
_.getClass$ = function getClass_76(){
  return Lcom_google_gwt_dom_client_Style$FontStyle$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$FontWeight(){
  $clinit_Style$FontWeight = nullMethod;
  NORMAL_0 = new Style$FontWeight$1_0;
  BOLD = new Style$FontWeight$2_0;
  BOLDER = new Style$FontWeight$3_0;
  LIGHTER_0 = new Style$FontWeight$4_0;
  $VALUES_12 = initValues(_3Lcom_google_gwt_dom_client_Style$FontWeight_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$FontWeight, [NORMAL_0, BOLD, BOLDER, LIGHTER_0]);
}

function values_13(){
  $clinit_Style$FontWeight();
  return $VALUES_12;
}

function Style$FontWeight(){
}

_ = Style$FontWeight.prototype = new Enum;
_.getClass$ = function getClass_77(){
  return Lcom_google_gwt_dom_client_Style$FontWeight_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontWeight, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_12, BOLD, BOLDER, LIGHTER_0, NORMAL_0;
function Style$FontWeight$1_0(){
  Enum_0.call(this, 'NORMAL', 0);
}

function Style$FontWeight$1(){
}

_ = Style$FontWeight$1_0.prototype = Style$FontWeight$1.prototype = new Style$FontWeight;
_.getClass$ = function getClass_78(){
  return Lcom_google_gwt_dom_client_Style$FontWeight$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontWeight, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$FontWeight$2_0(){
  Enum_0.call(this, 'BOLD', 1);
}

function Style$FontWeight$2(){
}

_ = Style$FontWeight$2_0.prototype = Style$FontWeight$2.prototype = new Style$FontWeight;
_.getClass$ = function getClass_79(){
  return Lcom_google_gwt_dom_client_Style$FontWeight$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontWeight, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$FontWeight$3_0(){
  Enum_0.call(this, 'BOLDER', 2);
}

function Style$FontWeight$3(){
}

_ = Style$FontWeight$3_0.prototype = Style$FontWeight$3.prototype = new Style$FontWeight;
_.getClass$ = function getClass_80(){
  return Lcom_google_gwt_dom_client_Style$FontWeight$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontWeight, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$FontWeight$4_0(){
  Enum_0.call(this, 'LIGHTER', 3);
}

function Style$FontWeight$4(){
}

_ = Style$FontWeight$4_0.prototype = Style$FontWeight$4.prototype = new Style$FontWeight;
_.getClass$ = function getClass_81(){
  return Lcom_google_gwt_dom_client_Style$FontWeight$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$FontWeight, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$ListStyleType(){
  $clinit_Style$ListStyleType = nullMethod;
  NONE_2 = new Style$ListStyleType$1_0;
  DISC = new Style$ListStyleType$2_0;
  CIRCLE = new Style$ListStyleType$3_0;
  SQUARE_0 = new Style$ListStyleType$4_0;
  DECIMAL = new Style$ListStyleType$5_0;
  LOWER_ALPHA = new Style$ListStyleType$6_0;
  UPPER_ALPHA = new Style$ListStyleType$7_0;
  LOWER_ROMAN = new Style$ListStyleType$8_0;
  UPPER_ROMAN = new Style$ListStyleType$9_0;
  $VALUES_13 = initValues(_3Lcom_google_gwt_dom_client_Style$ListStyleType_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$ListStyleType, [NONE_2, DISC, CIRCLE, SQUARE_0, DECIMAL, LOWER_ALPHA, UPPER_ALPHA, LOWER_ROMAN, UPPER_ROMAN]);
}

function values_14(){
  $clinit_Style$ListStyleType();
  return $VALUES_13;
}

function Style$ListStyleType(){
}

_ = Style$ListStyleType.prototype = new Enum;
_.getClass$ = function getClass_82(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_13, CIRCLE, DECIMAL, DISC, LOWER_ALPHA, LOWER_ROMAN, NONE_2, SQUARE_0, UPPER_ALPHA, UPPER_ROMAN;
function Style$ListStyleType$1_0(){
  Enum_0.call(this, 'NONE', 0);
}

function Style$ListStyleType$1(){
}

_ = Style$ListStyleType$1_0.prototype = Style$ListStyleType$1.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_83(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$2_0(){
  Enum_0.call(this, 'DISC', 1);
}

function Style$ListStyleType$2(){
}

_ = Style$ListStyleType$2_0.prototype = Style$ListStyleType$2.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_84(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$3_0(){
  Enum_0.call(this, 'CIRCLE', 2);
}

function Style$ListStyleType$3(){
}

_ = Style$ListStyleType$3_0.prototype = Style$ListStyleType$3.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_85(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$4_0(){
  Enum_0.call(this, 'SQUARE', 3);
}

function Style$ListStyleType$4(){
}

_ = Style$ListStyleType$4_0.prototype = Style$ListStyleType$4.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_86(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$5_0(){
  Enum_0.call(this, 'DECIMAL', 4);
}

function Style$ListStyleType$5(){
}

_ = Style$ListStyleType$5_0.prototype = Style$ListStyleType$5.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_87(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$5_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$6_0(){
  Enum_0.call(this, 'LOWER_ALPHA', 5);
}

function Style$ListStyleType$6(){
}

_ = Style$ListStyleType$6_0.prototype = Style$ListStyleType$6.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_88(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$6_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$7_0(){
  Enum_0.call(this, 'UPPER_ALPHA', 6);
}

function Style$ListStyleType$7(){
}

_ = Style$ListStyleType$7_0.prototype = Style$ListStyleType$7.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_89(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$7_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$8_0(){
  Enum_0.call(this, 'LOWER_ROMAN', 7);
}

function Style$ListStyleType$8(){
}

_ = Style$ListStyleType$8_0.prototype = Style$ListStyleType$8.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_90(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$8_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$ListStyleType$9_0(){
  Enum_0.call(this, 'UPPER_ROMAN', 8);
}

function Style$ListStyleType$9(){
}

_ = Style$ListStyleType$9_0.prototype = Style$ListStyleType$9.prototype = new Style$ListStyleType;
_.getClass$ = function getClass_91(){
  return Lcom_google_gwt_dom_client_Style$ListStyleType$9_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$ListStyleType, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$Overflow(){
  $clinit_Style$Overflow = nullMethod;
  VISIBLE = new Style$Overflow$1_0;
  HIDDEN_0 = new Style$Overflow$2_0;
  SCROLL = new Style$Overflow$3_0;
  AUTO_0 = new Style$Overflow$4_0;
  $VALUES_14 = initValues(_3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Overflow, [VISIBLE, HIDDEN_0, SCROLL, AUTO_0]);
}

function values_15(){
  $clinit_Style$Overflow();
  return $VALUES_14;
}

function Style$Overflow(){
}

_ = Style$Overflow.prototype = new Enum;
_.getClass$ = function getClass_92(){
  return Lcom_google_gwt_dom_client_Style$Overflow_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_14, AUTO_0, HIDDEN_0, SCROLL, VISIBLE;
function Style$Overflow$1_0(){
  Enum_0.call(this, 'VISIBLE', 0);
}

function Style$Overflow$1(){
}

_ = Style$Overflow$1_0.prototype = Style$Overflow$1.prototype = new Style$Overflow;
_.getClass$ = function getClass_93(){
  return Lcom_google_gwt_dom_client_Style$Overflow$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Overflow$2_0(){
  Enum_0.call(this, 'HIDDEN', 1);
}

function Style$Overflow$2(){
}

_ = Style$Overflow$2_0.prototype = Style$Overflow$2.prototype = new Style$Overflow;
_.getClass$ = function getClass_94(){
  return Lcom_google_gwt_dom_client_Style$Overflow$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Overflow$3_0(){
  Enum_0.call(this, 'SCROLL', 2);
}

function Style$Overflow$3(){
}

_ = Style$Overflow$3_0.prototype = Style$Overflow$3.prototype = new Style$Overflow;
_.getClass$ = function getClass_95(){
  return Lcom_google_gwt_dom_client_Style$Overflow$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Overflow$4_0(){
  Enum_0.call(this, 'AUTO', 3);
}

function Style$Overflow$4(){
}

_ = Style$Overflow$4_0.prototype = Style$Overflow$4.prototype = new Style$Overflow;
_.getClass$ = function getClass_96(){
  return Lcom_google_gwt_dom_client_Style$Overflow$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$Position(){
  $clinit_Style$Position = nullMethod;
  STATIC = new Style$Position$1_0;
  RELATIVE = new Style$Position$2_0;
  ABSOLUTE = new Style$Position$3_0;
  FIXED = new Style$Position$4_0;
  $VALUES_15 = initValues(_3Lcom_google_gwt_dom_client_Style$Position_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Position, [STATIC, RELATIVE, ABSOLUTE, FIXED]);
}

function values_16(){
  $clinit_Style$Position();
  return $VALUES_15;
}

function Style$Position(){
}

_ = Style$Position.prototype = new Enum;
_.getClass$ = function getClass_97(){
  return Lcom_google_gwt_dom_client_Style$Position_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_15, ABSOLUTE, FIXED, RELATIVE, STATIC;
function Style$Position$1_0(){
  Enum_0.call(this, 'STATIC', 0);
}

function Style$Position$1(){
}

_ = Style$Position$1_0.prototype = Style$Position$1.prototype = new Style$Position;
_.getClass$ = function getClass_98(){
  return Lcom_google_gwt_dom_client_Style$Position$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Position$2_0(){
  Enum_0.call(this, 'RELATIVE', 1);
}

function Style$Position$2(){
}

_ = Style$Position$2_0.prototype = Style$Position$2.prototype = new Style$Position;
_.getClass$ = function getClass_99(){
  return Lcom_google_gwt_dom_client_Style$Position$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Position$3_0(){
  Enum_0.call(this, 'ABSOLUTE', 2);
}

function Style$Position$3(){
}

_ = Style$Position$3_0.prototype = Style$Position$3.prototype = new Style$Position;
_.getClass$ = function getClass_100(){
  return Lcom_google_gwt_dom_client_Style$Position$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Position$4_0(){
  Enum_0.call(this, 'FIXED', 3);
}

function Style$Position$4(){
}

_ = Style$Position$4_0.prototype = Style$Position$4.prototype = new Style$Position;
_.getClass$ = function getClass_101(){
  return Lcom_google_gwt_dom_client_Style$Position$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$TableLayout(){
  $clinit_Style$TableLayout = nullMethod;
  AUTO_1 = new Style$TableLayout$1_0;
  FIXED_0 = new Style$TableLayout$2_0;
  $VALUES_16 = initValues(_3Lcom_google_gwt_dom_client_Style$TableLayout_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$TableLayout, [AUTO_1, FIXED_0]);
}

function values_17(){
  $clinit_Style$TableLayout();
  return $VALUES_16;
}

function Style$TableLayout(){
}

_ = Style$TableLayout.prototype = new Enum;
_.getClass$ = function getClass_102(){
  return Lcom_google_gwt_dom_client_Style$TableLayout_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TableLayout, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_16, AUTO_1, FIXED_0;
function Style$TableLayout$1_0(){
  Enum_0.call(this, 'AUTO', 0);
}

function Style$TableLayout$1(){
}

_ = Style$TableLayout$1_0.prototype = Style$TableLayout$1.prototype = new Style$TableLayout;
_.getClass$ = function getClass_103(){
  return Lcom_google_gwt_dom_client_Style$TableLayout$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TableLayout, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$TableLayout$2_0(){
  Enum_0.call(this, 'FIXED', 1);
}

function Style$TableLayout$2(){
}

_ = Style$TableLayout$2_0.prototype = Style$TableLayout$2.prototype = new Style$TableLayout;
_.getClass$ = function getClass_104(){
  return Lcom_google_gwt_dom_client_Style$TableLayout$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TableLayout, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$TextDecoration(){
  $clinit_Style$TextDecoration = nullMethod;
  NONE_3 = new Style$TextDecoration$1_0;
  UNDERLINE = new Style$TextDecoration$2_0;
  OVERLINE = new Style$TextDecoration$3_0;
  LINE_THROUGH = new Style$TextDecoration$4_0;
  $VALUES_17 = initValues(_3Lcom_google_gwt_dom_client_Style$TextDecoration_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$TextDecoration, [NONE_3, UNDERLINE, OVERLINE, LINE_THROUGH]);
}

function values_18(){
  $clinit_Style$TextDecoration();
  return $VALUES_17;
}

function Style$TextDecoration(){
}

_ = Style$TextDecoration.prototype = new Enum;
_.getClass$ = function getClass_105(){
  return Lcom_google_gwt_dom_client_Style$TextDecoration_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TextDecoration, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_17, LINE_THROUGH, NONE_3, OVERLINE, UNDERLINE;
function Style$TextDecoration$1_0(){
  Enum_0.call(this, 'NONE', 0);
}

function Style$TextDecoration$1(){
}

_ = Style$TextDecoration$1_0.prototype = Style$TextDecoration$1.prototype = new Style$TextDecoration;
_.getClass$ = function getClass_106(){
  return Lcom_google_gwt_dom_client_Style$TextDecoration$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TextDecoration, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$TextDecoration$2_0(){
  Enum_0.call(this, 'UNDERLINE', 1);
}

function Style$TextDecoration$2(){
}

_ = Style$TextDecoration$2_0.prototype = Style$TextDecoration$2.prototype = new Style$TextDecoration;
_.getClass$ = function getClass_107(){
  return Lcom_google_gwt_dom_client_Style$TextDecoration$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TextDecoration, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$TextDecoration$3_0(){
  Enum_0.call(this, 'OVERLINE', 2);
}

function Style$TextDecoration$3(){
}

_ = Style$TextDecoration$3_0.prototype = Style$TextDecoration$3.prototype = new Style$TextDecoration;
_.getClass$ = function getClass_108(){
  return Lcom_google_gwt_dom_client_Style$TextDecoration$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TextDecoration, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$TextDecoration$4_0(){
  Enum_0.call(this, 'LINE_THROUGH', 3);
}

function Style$TextDecoration$4(){
}

_ = Style$TextDecoration$4_0.prototype = Style$TextDecoration$4.prototype = new Style$TextDecoration;
_.getClass$ = function getClass_109(){
  return Lcom_google_gwt_dom_client_Style$TextDecoration$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$TextDecoration, Q$Serializable, Q$Comparable, Q$Enum]);
--></script>
<script><!--
function $clinit_Style$Unit(){
  $clinit_Style$Unit = nullMethod;
  PX = new Style$Unit$1_0;
  PCT = new Style$Unit$2_0;
  EM = new Style$Unit$3_0;
  EX = new Style$Unit$4_0;
  PT = new Style$Unit$5_0;
  PC = new Style$Unit$6_0;
  IN = new Style$Unit$7_0;
  CM = new Style$Unit$8_0;
  MM = new Style$Unit$9_0;
  $VALUES_18 = initValues(_3Lcom_google_gwt_dom_client_Style$Unit_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Unit, [PX, PCT, EM, EX, PT, PC, IN, CM, MM]);
}

function values_19(){
  $clinit_Style$Unit();
  return $VALUES_18;
}

function Style$Unit(){
}

_ = Style$Unit.prototype = new Enum;
_.getClass$ = function getClass_110(){
  return Lcom_google_gwt_dom_client_Style$Unit_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_18, CM, EM, EX, IN, MM, PC, PCT, PT, PX;
function Style$Unit$1_0(){
  Enum_0.call(this, 'PX', 0);
}

function Style$Unit$1(){
}

_ = Style$Unit$1_0.prototype = Style$Unit$1.prototype = new Style$Unit;
_.getClass$ = function getClass_111(){
  return Lcom_google_gwt_dom_client_Style$Unit$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$2_0(){
  Enum_0.call(this, 'PCT', 1);
}

function Style$Unit$2(){
}

_ = Style$Unit$2_0.prototype = Style$Unit$2.prototype = new Style$Unit;
_.getClass$ = function getClass_112(){
  return Lcom_google_gwt_dom_client_Style$Unit$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$3_0(){
  Enum_0.call(this, 'EM', 2);
}

function Style$Unit$3(){
}

_ = Style$Unit$3_0.prototype = Style$Unit$3.prototype = new Style$Unit;
_.getClass$ = function getClass_113(){
  return Lcom_google_gwt_dom_client_Style$Unit$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$4_0(){
  Enum_0.call(this, 'EX', 3);
}

function Style$Unit$4(){
}

_ = Style$Unit$4_0.prototype = Style$Unit$4.prototype = new Style$Unit;
_.getClass$ = function getClass_114(){
  return Lcom_google_gwt_dom_client_Style$Unit$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$5_0(){
  Enum_0.call(this, 'PT', 4);
}

function Style$Unit$5(){
}

_ = Style$Unit$5_0.prototype = Style$Unit$5.prototype = new Style$Unit;
_.getClass$ = function getClass_115(){
  return Lcom_google_gwt_dom_client_Style$Unit$5_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$6_0(){
  Enum_0.call(this, 'PC', 5);
}

function Style$Unit$6(){
}

_ = Style$Unit$6_0.prototype = Style$Unit$6.prototype = new Style$Unit;
_.getClass$ = function getClass_116(){
  return Lcom_google_gwt_dom_client_Style$Unit$6_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$7_0(){
  Enum_0.call(this, 'IN', 6);
}

function Style$Unit$7(){
}

_ = Style$Unit$7_0.prototype = Style$Unit$7.prototype = new Style$Unit;
_.getClass$ = function getClass_117(){
  return Lcom_google_gwt_dom_client_Style$Unit$7_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$8_0(){
  Enum_0.call(this, 'CM', 7);
}

function Style$Unit$8(){
}

_ = Style$Unit$8_0.prototype = Style$Unit$8.prototype = new Style$Unit;
_.getClass$ = function getClass_118(){
  return Lcom_google_gwt_dom_client_Style$Unit$8_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Unit$9_0(){
  Enum_0.call(this, 'MM', 8);
}

function Style$Unit$9(){
}

_ = Style$Unit$9_0.prototype = Style$Unit$9.prototype = new Style$Unit;
_.getClass$ = function getClass_119(){
  return Lcom_google_gwt_dom_client_Style$Unit$9_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$VerticalAlign(){
  $clinit_Style$VerticalAlign = nullMethod;
  BASELINE = new Style$VerticalAlign$1_0;
  SUB = new Style$VerticalAlign$2_0;
  SUPER = new Style$VerticalAlign$3_0;
  TOP_0 = new Style$VerticalAlign$4_0;
  TEXT_TOP = new Style$VerticalAlign$5_0;
  MIDDLE_0 = new Style$VerticalAlign$6_0;
  BOTTOM_0 = new Style$VerticalAlign$7_0;
  TEXT_BOTTOM = new Style$VerticalAlign$8_0;
  $VALUES_19 = initValues(_3Lcom_google_gwt_dom_client_Style$VerticalAlign_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$VerticalAlign, [BASELINE, SUB, SUPER, TOP_0, TEXT_TOP, MIDDLE_0, BOTTOM_0, TEXT_BOTTOM]);
}

function values_20(){
  $clinit_Style$VerticalAlign();
  return $VALUES_19;
}

function Style$VerticalAlign(){
}

_ = Style$VerticalAlign.prototype = new Enum;
_.getClass$ = function getClass_120(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_19, BASELINE, BOTTOM_0, MIDDLE_0, SUB, SUPER, TEXT_BOTTOM, TEXT_TOP, TOP_0;
function Style$VerticalAlign$1_0(){
  Enum_0.call(this, 'BASELINE', 0);
}

function Style$VerticalAlign$1(){
}

_ = Style$VerticalAlign$1_0.prototype = Style$VerticalAlign$1.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_121(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$VerticalAlign$2_0(){
  Enum_0.call(this, 'SUB', 1);
}

function Style$VerticalAlign$2(){
}

_ = Style$VerticalAlign$2_0.prototype = Style$VerticalAlign$2.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_122(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$VerticalAlign$3_0(){
  Enum_0.call(this, 'SUPER', 2);
}

function Style$VerticalAlign$3(){
}

_ = Style$VerticalAlign$3_0.prototype = Style$VerticalAlign$3.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_123(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$VerticalAlign$4_0(){
  Enum_0.call(this, 'TOP', 3);
}

function Style$VerticalAlign$4(){
}

_ = Style$VerticalAlign$4_0.prototype = Style$VerticalAlign$4.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_124(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$VerticalAlign$5_0(){
  Enum_0.call(this, 'TEXT_TOP', 4);
}

function Style$VerticalAlign$5(){
}

_ = Style$VerticalAlign$5_0.prototype = Style$VerticalAlign$5.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_125(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$5_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$VerticalAlign$6_0(){
  Enum_0.call(this, 'MIDDLE', 5);
}

function Style$VerticalAlign$6(){
}

_ = Style$VerticalAlign$6_0.prototype = Style$VerticalAlign$6.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_126(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$6_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$VerticalAlign$7_0(){
  Enum_0.call(this, 'BOTTOM', 6);
}

function Style$VerticalAlign$7(){
}

_ = Style$VerticalAlign$7_0.prototype = Style$VerticalAlign$7.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_127(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$7_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$VerticalAlign$8_0(){
  Enum_0.call(this, 'TEXT_BOTTOM', 7);
}

function Style$VerticalAlign$8(){
}

_ = Style$VerticalAlign$8_0.prototype = Style$VerticalAlign$8.prototype = new Style$VerticalAlign;
_.getClass$ = function getClass_128(){
  return Lcom_google_gwt_dom_client_Style$VerticalAlign$8_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$VerticalAlign, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_Style$Visibility(){
  $clinit_Style$Visibility = nullMethod;
  VISIBLE_0 = new Style$Visibility$1_0;
  HIDDEN_1 = new Style$Visibility$2_0;
  $VALUES_20 = initValues(_3Lcom_google_gwt_dom_client_Style$Visibility_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Visibility, [VISIBLE_0, HIDDEN_1]);
}

function values_21(){
  $clinit_Style$Visibility();
  return $VALUES_20;
}

function Style$Visibility(){
}

_ = Style$Visibility.prototype = new Enum;
_.getClass$ = function getClass_129(){
  return Lcom_google_gwt_dom_client_Style$Visibility_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Visibility, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_20, HIDDEN_1, VISIBLE_0;
function Style$Visibility$1_0(){
  Enum_0.call(this, 'VISIBLE', 0);
}

function Style$Visibility$1(){
}

_ = Style$Visibility$1_0.prototype = Style$Visibility$1.prototype = new Style$Visibility;
_.getClass$ = function getClass_130(){
  return Lcom_google_gwt_dom_client_Style$Visibility$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Visibility, Q$Serializable, Q$Comparable, Q$Enum]);
function Style$Visibility$2_0(){
  Enum_0.call(this, 'HIDDEN', 1);
}

function Style$Visibility$2(){
}

_ = Style$Visibility$2_0.prototype = Style$Visibility$2.prototype = new Style$Visibility;
_.getClass$ = function getClass_131(){
  return Lcom_google_gwt_dom_client_Style$Visibility$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Style$HasCssName, Q$Style$Visibility, Q$Serializable, Q$Comparable, Q$Enum]);
function $clinit_StyleInjector(){
  $clinit_StyleInjector = nullMethod;
  toInject = [];
  toInjectAtEnd = [];
  toInjectAtStart = [];
  flusher = new StyleInjector$1_0;
}

function flush(){
  $clinit_StyleInjector();
  var css, maybeReturn, toReturn;
  toReturn = null;
  if (toInjectAtStart.length != 0) {
    css = toInjectAtStart.join('');
    maybeReturn = $injectStyleSheetAtStart(($clinit_StyleInjector$StyleInjectorImpl() , IMPL), css);
    !toInjectAtStart && (toReturn = maybeReturn);
    toInjectAtStart.length = 0;
  }
  if (toInject.length != 0) {
    css = toInject.join('');
    maybeReturn = $injectStyleSheet(($clinit_StyleInjector$StyleInjectorImpl() , IMPL), css);
    !toInject && (toReturn = maybeReturn);
    toInject.length = 0;
  }
  if (toInjectAtEnd.length != 0) {
    css = toInjectAtEnd.join('');
    maybeReturn = $injectStyleSheet(($clinit_StyleInjector$StyleInjectorImpl() , IMPL), css);
    !toInjectAtEnd && (toReturn = maybeReturn);
    toInjectAtEnd.length = 0;
  }
  needsInjection = false;
  return toReturn;
}

function schedule(){
  $clinit_StyleInjector();
  if (!needsInjection) {
    needsInjection = true;
    $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), flusher);
  }
}

var flusher, needsInjection = false, toInject, toInjectAtEnd, toInjectAtStart;
function StyleInjector$1_0(){
}

function StyleInjector$1(){
}

_ = StyleInjector$1_0.prototype = StyleInjector$1.prototype = new Object_0;
_.execute_1 = function execute_3(){
  ($clinit_StyleInjector() , needsInjection) && flush();
}
;
_.getClass$ = function getClass_132(){
  return Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit;
}
;
function $clinit_StyleInjector$StyleInjectorImpl(){
  $clinit_StyleInjector$StyleInjectorImpl = nullMethod;
  IMPL = new StyleInjector$StyleInjectorImpl_0;
}

function $createElement(contents){
  var style;
  style = $doc.createElement('style');
  style['language'] = 'text/css';
  $setInnerText(style, contents);
  return style;
}

function $getHead(this$static){
  var elt;
  if (!this$static.head) {
    elt = $doc.getElementsByTagName('head')[0];
    this$static.head = elt;
  }
  return this$static.head;
}

function $injectStyleSheet(this$static, contents){
  var style;
  style = $createElement(contents);
  $appendChild($getHead(this$static), style);
  return style;
}

function $injectStyleSheetAtStart(this$static, contents){
  var style;
  style = $createElement(contents);
  $insertBefore($getHead(this$static), style, this$static.head.firstChild);
  return style;
}

function StyleInjector$StyleInjectorImpl_0(){
}

function StyleInjector$StyleInjectorImpl(){
}

_ = StyleInjector$StyleInjectorImpl_0.prototype = StyleInjector$StyleInjectorImpl.prototype = new Object_0;
_.getClass$ = function getClass_133(){
  return Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit;
}
;
_.head = null;
var IMPL;
function deserialize_8(streamReader, instance){
}

function instantiate_8(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$BorderStyle() , $clinit_Style$BorderStyle() , $VALUES_7);
  return values[ordinal];
}

function deserialize_9(streamReader, instance){
}

function instantiate_9(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$Cursor() , $clinit_Style$Cursor() , $VALUES_8);
  return values[ordinal];
}

function deserialize_10(streamReader, instance){
}

function instantiate_10(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$Display() , $clinit_Style$Display() , $VALUES_9);
  return values[ordinal];
}

function deserialize_11(streamReader, instance){
}

function instantiate_11(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$Float() , $clinit_Style$Float() , $VALUES_10);
  return values[ordinal];
}

function deserialize_12(streamReader, instance){
}

function instantiate_12(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$FontStyle() , $clinit_Style$FontStyle() , $VALUES_11);
  return values[ordinal];
}

function deserialize_13(streamReader, instance){
}

function instantiate_13(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$FontWeight() , $clinit_Style$FontWeight() , $VALUES_12);
  return values[ordinal];
}

function deserialize_14(streamReader, instance){
}

function instantiate_14(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$ListStyleType() , $clinit_Style$ListStyleType() , $VALUES_13);
  return values[ordinal];
}

function deserialize_15(streamReader, instance){
}

function instantiate_15(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$Overflow() , $clinit_Style$Overflow() , $VALUES_14);
  return values[ordinal];
}

function deserialize_16(streamReader, instance){
}

function instantiate_16(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$Position() , $clinit_Style$Position() , $VALUES_15);
  return values[ordinal];
}

function deserialize_17(streamReader, instance){
}

function instantiate_17(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$TableLayout() , $clinit_Style$TableLayout() , $VALUES_16);
  return values[ordinal];
}

function deserialize_18(streamReader, instance){
}

function instantiate_18(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$TextDecoration() , $clinit_Style$TextDecoration() , $VALUES_17);
  return values[ordinal];
}

function deserialize_19(streamReader, instance){
}

function instantiate_19(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$Unit() , $clinit_Style$Unit() , $VALUES_18);
  return values[ordinal];
}

function deserialize_20(streamReader, instance){
}

function instantiate_20(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$VerticalAlign() , $clinit_Style$VerticalAlign() , $VALUES_19);
  return values[ordinal];
}

function deserialize_21(streamReader, instance){
}

function instantiate_21(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Style$Visibility() , $clinit_Style$Visibility() , $VALUES_20);
  return values[ordinal];
}

function $setColSpan(this$static, colSpan){
  this$static.colSpan = colSpan;
}

function Event_0(){
}

_ = Event_0.prototype = new Object_0;
_.getClass$ = function getClass_134(){
  return Lcom_google_web_bindery_event_shared_Event_2_classLit;
}
;
_.toString$ = function toString_3(){
  return 'An event type';
}
;
_.source = null;
function $overrideSource(this$static, source){
  this$static.source = source;
}

function GwtEvent(){
}

_ = GwtEvent.prototype = new Event_0;
_.getClass$ = function getClass_135(){
  return Lcom_google_gwt_event_shared_GwtEvent_2_classLit;
}
;
_.revive = function revive(){
  this.dead = false;
  this.source = null;
}
;
_.dead = false;
function $setNativeEvent(this$static, nativeEvent){
  this$static.nativeEvent = nativeEvent;
}

function $setRelativeElement(this$static, relativeElem){
  this$static.relativeElem = relativeElem;
}

function fireNativeEvent(nativeEvent, handlerSource, relativeElem){
  var currentNative, currentRelativeElem, typeKey;
  if (registered) {
    typeKey = dynamicCast($unsafeGet(registered, nativeEvent.type), Q$DomEvent$Type);
    if (typeKey) {
      currentNative = typeKey.flyweight.nativeEvent;
      currentRelativeElem = typeKey.flyweight.relativeElem;
      $setNativeEvent(typeKey.flyweight, nativeEvent);
      $setRelativeElement(typeKey.flyweight, relativeElem);
      $fireEvent_0(handlerSource, typeKey.flyweight);
      $setNativeEvent(typeKey.flyweight, currentNative);
      $setRelativeElement(typeKey.flyweight, currentRelativeElem);
    }
  }
}

function DomEvent(){
}

_ = DomEvent.prototype = new GwtEvent;
_.getAssociatedType = function getAssociatedType(){
  return this.getAssociatedType_0();
}
;
_.getClass$ = function getClass_136(){
  return Lcom_google_gwt_event_dom_client_DomEvent_2_classLit;
}
;
_.nativeEvent = null;
_.relativeElem = null;
var registered = null;
function HumanInputEvent(){
}

_ = HumanInputEvent.prototype = new DomEvent;
_.getClass$ = function getClass_137(){
  return Lcom_google_gwt_event_dom_client_HumanInputEvent_2_classLit;
}
;
function $getX(this$static){
  var relativeElem, e;
  relativeElem = this$static.relativeElem;
  if (relativeElem) {
    return e = this$static.nativeEvent , (e.clientX || 0) - $getAbsoluteLeft(relativeElem) + $getScrollLeft(relativeElem) + $getScrollLeft(relativeElem.ownerDocument.body);
  }
  return this$static.nativeEvent.clientX || 0;
}

function $getY(this$static){
  var relativeElem, e;
  relativeElem = this$static.relativeElem;
  if (relativeElem) {
    return e = this$static.nativeEvent , (e.clientY || 0) - $getAbsoluteTop(relativeElem) + (relativeElem.scrollTop || 0) + (relativeElem.ownerDocument.body.scrollTop || 0);
  }
  return this$static.nativeEvent.clientY || 0;
}

function MouseEvent_0(){
}

_ = MouseEvent_0.prototype = new HumanInputEvent;
_.getClass$ = function getClass_138(){
  return Lcom_google_gwt_event_dom_client_MouseEvent_2_classLit;
}
;
function $clinit_ClickEvent(){
  $clinit_ClickEvent = nullMethod;
  TYPE = new DomEvent$Type_0('click', new ClickEvent_0);
}

function ClickEvent_0(){
}

function ClickEvent(){
}

_ = ClickEvent_0.prototype = ClickEvent.prototype = new MouseEvent_0;
_.dispatch = function dispatch(handler){
  dynamicCast(handler, Q$ClickHandler).onClick(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_0(){
  return TYPE;
}
;
_.getClass$ = function getClass_139(){
  return Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit;
}
;
var TYPE;
function Event$Type(){
}

_ = Event$Type.prototype = new Object_0;
_.getClass$ = function getClass_140(){
  return Lcom_google_web_bindery_event_shared_Event$Type_2_classLit;
}
;
_.hashCode$ = function hashCode_2(){
  return this.index_0;
}
;
_.toString$ = function toString_4(){
  return 'Event type';
}
;
_.index_0 = 0;
var nextHashCode = 0;
function GwtEvent$Type_0(){
  this.index_0 = ++nextHashCode;
}

function GwtEvent$Type(){
}

_ = GwtEvent$Type_0.prototype = GwtEvent$Type.prototype = new Event$Type;
_.getClass$ = function getClass_141(){
  return Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit;
}
;
function DomEvent$Type_0(eventName, flyweight){
  GwtEvent$Type_0.call(this);
  this.flyweight = flyweight;
  !registered && (registered = new PrivateMap_0);
  $unsafePut(registered, eventName, this);
  this.name_0 = eventName;
}

function DomEvent$Type(){
}

_ = DomEvent$Type_0.prototype = DomEvent$Type.prototype = new GwtEvent$Type;
_.getClass$ = function getClass_142(){
  return Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$DomEvent$Type]);
_.flyweight = null;
_.name_0 = null;
function $clinit_MouseDownEvent(){
  $clinit_MouseDownEvent = nullMethod;
  TYPE_0 = new DomEvent$Type_0('mousedown', new MouseDownEvent_0);
}

function $dispatch(this$static, handler){
  $beginDragging(handler.this$0, this$static);
}

function MouseDownEvent_0(){
}

function MouseDownEvent(){
}

_ = MouseDownEvent_0.prototype = MouseDownEvent.prototype = new MouseEvent_0;
_.dispatch = function dispatch_0(handler){
  $dispatch(this, dynamicCast(handler, Q$MouseDownHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_1(){
  return TYPE_0;
}
;
_.getClass$ = function getClass_143(){
  return Lcom_google_gwt_event_dom_client_MouseDownEvent_2_classLit;
}
;
var TYPE_0;
function $clinit_MouseMoveEvent(){
  $clinit_MouseMoveEvent = nullMethod;
  TYPE_1 = new DomEvent$Type_0('mousemove', new MouseMoveEvent_0);
}

function $dispatch_0(this$static, handler){
  $continueDragging(handler.this$0, this$static);
}

function MouseMoveEvent_0(){
}

function MouseMoveEvent(){
}

_ = MouseMoveEvent_0.prototype = MouseMoveEvent.prototype = new MouseEvent_0;
_.dispatch = function dispatch_1(handler){
  $dispatch_0(this, dynamicCast(handler, Q$MouseMoveHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_2(){
  return TYPE_1;
}
;
_.getClass$ = function getClass_144(){
  return Lcom_google_gwt_event_dom_client_MouseMoveEvent_2_classLit;
}
;
var TYPE_1;
function $clinit_MouseOutEvent(){
  $clinit_MouseOutEvent = nullMethod;
  TYPE_2 = new DomEvent$Type_0('mouseout', new MouseOutEvent_0);
}

function MouseOutEvent_0(){
}

function MouseOutEvent(){
}

_ = MouseOutEvent_0.prototype = MouseOutEvent.prototype = new MouseEvent_0;
_.dispatch = function dispatch_2(handler){
  dynamicCast(dynamicCast(handler, Q$MouseOutHandler), Q$DialogBox$MouseHandler);
}
;
_.getAssociatedType_0 = function getAssociatedType_3(){
  return TYPE_2;
}
;
_.getClass$ = function getClass_145(){
  return Lcom_google_gwt_event_dom_client_MouseOutEvent_2_classLit;
}
;
var TYPE_2;
function $clinit_MouseOverEvent(){
  $clinit_MouseOverEvent = nullMethod;
  TYPE_3 = new DomEvent$Type_0('mouseover', new MouseOverEvent_0);
}

function MouseOverEvent_0(){
}

function MouseOverEvent(){
}

_ = MouseOverEvent_0.prototype = MouseOverEvent.prototype = new MouseEvent_0;
_.dispatch = function dispatch_3(handler){
  dynamicCast(dynamicCast(handler, Q$MouseOverHandler), Q$DialogBox$MouseHandler);
}
;
_.getAssociatedType_0 = function getAssociatedType_4(){
  return TYPE_3;
}
;
_.getClass$ = function getClass_146(){
  return Lcom_google_gwt_event_dom_client_MouseOverEvent_2_classLit;
}
;
var TYPE_3;
function $clinit_MouseUpEvent(){
  $clinit_MouseUpEvent = nullMethod;
  TYPE_4 = new DomEvent$Type_0('mouseup', new MouseUpEvent_0);
}

function $dispatch_1(this$static, handler){
  $endDragging(handler.this$0, this$static);
}

function MouseUpEvent_0(){
}

function MouseUpEvent(){
}

_ = MouseUpEvent_0.prototype = MouseUpEvent.prototype = new MouseEvent_0;
_.dispatch = function dispatch_4(handler){
  $dispatch_1(this, dynamicCast(handler, Q$MouseUpHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_5(){
  return TYPE_4;
}
;
_.getClass$ = function getClass_147(){
  return Lcom_google_gwt_event_dom_client_MouseUpEvent_2_classLit;
}
;
var TYPE_4;
function $unsafeGet(this$static, key){
  return this$static.map[key];
}

function $unsafePut(this$static, key, value){
  this$static.map[key] = value;
}

function PrivateMap_0(){
  this.map = {};
}

function PrivateMap(){
}

_ = PrivateMap_0.prototype = PrivateMap.prototype = new Object_0;
_.getClass$ = function getClass_148(){
  return Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit;
}
;
_.map = null;
function $clinit_ScrollEvent(){
  $clinit_ScrollEvent = nullMethod;
  TYPE_5 = new DomEvent$Type_0('scroll', new ScrollEvent_0);
}

function ScrollEvent_0(){
}

function ScrollEvent(){
}

_ = ScrollEvent_0.prototype = ScrollEvent.prototype = new DomEvent;
_.dispatch = function dispatch_5(handler){
  $onScroll(dynamicCast(handler, Q$ScrollHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_6(){
  return TYPE_5;
}
;
_.getClass$ = function getClass_149(){
  return Lcom_google_gwt_event_dom_client_ScrollEvent_2_classLit;
}
;
var TYPE_5;
function TouchEvent(){
}

_ = TouchEvent.prototype = new HumanInputEvent;
_.getClass$ = function getClass_150(){
  return Lcom_google_gwt_event_dom_client_TouchEvent_2_classLit;
}
;
var impl_0 = null;
function $clinit_TouchCancelEvent(){
  $clinit_TouchCancelEvent = nullMethod;
  TYPE_6 = new DomEvent$Type_0('touchcancel', new TouchCancelEvent_0);
}

function TouchCancelEvent_0(){
}

function TouchCancelEvent(){
}

_ = TouchCancelEvent_0.prototype = TouchCancelEvent.prototype = new TouchEvent;
_.dispatch = function dispatch_6(handler){
  $onTouchEnd(dynamicCast(dynamicCast(handler, Q$TouchCancelHandler), Q$TouchScroller$5).this$0);
}
;
_.getAssociatedType_0 = function getAssociatedType_7(){
  return TYPE_6;
}
;
_.getClass$ = function getClass_151(){
  return Lcom_google_gwt_event_dom_client_TouchCancelEvent_2_classLit;
}
;
var TYPE_6;
function $clinit_TouchEndEvent(){
  $clinit_TouchEndEvent = nullMethod;
  TYPE_7 = new DomEvent$Type_0('touchend', new TouchEndEvent_0);
}

function TouchEndEvent_0(){
}

function TouchEndEvent(){
}

_ = TouchEndEvent_0.prototype = TouchEndEvent.prototype = new TouchEvent;
_.dispatch = function dispatch_7(handler){
  $onTouchEnd(dynamicCast(dynamicCast(handler, Q$TouchEndHandler), Q$TouchScroller$4).this$0);
}
;
_.getAssociatedType_0 = function getAssociatedType_8(){
  return TYPE_7;
}
;
_.getClass$ = function getClass_152(){
  return Lcom_google_gwt_event_dom_client_TouchEndEvent_2_classLit;
}
;
var TYPE_7;
function TouchEvent$TouchSupportDetector_0(){
  var elem;
  this.isSupported = (elem = document.createElement('div') , elem.setAttribute('ontouchstart', 'return;') , typeof elem.ontouchstart == 'function');
}

function TouchEvent$TouchSupportDetector(){
}

_ = TouchEvent$TouchSupportDetector_0.prototype = TouchEvent$TouchSupportDetector.prototype = new Object_0;
_.getClass$ = function getClass_153(){
  return Lcom_google_gwt_event_dom_client_TouchEvent$TouchSupportDetector_2_classLit;
}
;
function $clinit_TouchMoveEvent(){
  $clinit_TouchMoveEvent = nullMethod;
  TYPE_8 = new DomEvent$Type_0('touchmove', new TouchMoveEvent_0);
}

function $dispatch_2(this$static, handler){
  $onTouchMove(handler.this$0, this$static);
}

function TouchMoveEvent_0(){
}

function TouchMoveEvent(){
}

_ = TouchMoveEvent_0.prototype = TouchMoveEvent.prototype = new TouchEvent;
_.dispatch = function dispatch_8(handler){
  $dispatch_2(this, dynamicCast(handler, Q$TouchMoveHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_9(){
  return TYPE_8;
}
;
_.getClass$ = function getClass_154(){
  return Lcom_google_gwt_event_dom_client_TouchMoveEvent_2_classLit;
}
;
var TYPE_8;
function $clinit_TouchStartEvent(){
  $clinit_TouchStartEvent = nullMethod;
  TYPE_9 = new DomEvent$Type_0('touchstart', new TouchStartEvent_0);
}

function $dispatch_3(this$static, handler){
  $onTouchStart(handler.this$0, this$static);
}

function TouchStartEvent_0(){
}

function TouchStartEvent(){
}

_ = TouchStartEvent_0.prototype = TouchStartEvent.prototype = new TouchEvent;
_.dispatch = function dispatch_9(handler){
  $dispatch_3(this, dynamicCast(handler, Q$TouchStartHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_10(){
  return TYPE_9;
}
;
_.getClass$ = function getClass_155(){
  return Lcom_google_gwt_event_dom_client_TouchStartEvent_2_classLit;
}
;
var TYPE_9;
function $dispatch_4(this$static, handler){
  this$static.attached?$setupBustClickHandler(handler.this$0):$removeBustClickHandler(handler.this$0);
}

function AttachEvent_0(attached){
  this.attached = attached;
}

function fire_0(source, attached){
  var event_0;
  if (TYPE_10) {
    event_0 = new AttachEvent_0(attached);
    !!source.handlerManager && $fireEvent(source.handlerManager, event_0);
  }
}

function AttachEvent(){
}

_ = AttachEvent_0.prototype = AttachEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_10(handler){
  $dispatch_4(this, dynamicCast(handler, Q$AttachEvent$Handler));
}
;
_.getAssociatedType = function getAssociatedType_11(){
  return TYPE_10;
}
;
_.getClass$ = function getClass_156(){
  return Lcom_google_gwt_event_logical_shared_AttachEvent_2_classLit;
}
;
_.attached = false;
var TYPE_10 = null;
function CloseEvent_0(){
}

function fire_1(source){
  var event_0;
  if (TYPE_11) {
    event_0 = new CloseEvent_0;
    source.fireEvent(event_0);
  }
}

function CloseEvent(){
}

--></script>
<script><!--
_ = CloseEvent_0.prototype = CloseEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_11(handler){
  dynamicCast(handler, Q$CloseHandler).onClose(this);
}
;
_.getAssociatedType = function getAssociatedType_12(){
  return TYPE_11;
}
;
_.getClass$ = function getClass_157(){
  return Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit;
}
;
var TYPE_11 = null;
function ResizeEvent_0(width){
  this.width = width;
}

function fire_2(source, width){
  var event_0;
  if (TYPE_12) {
    event_0 = new ResizeEvent_0(width);
    $fireEvent(source, event_0);
  }
}

function ResizeEvent(){
}

_ = ResizeEvent_0.prototype = ResizeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_12(handler){
  dynamicCast(handler, Q$ResizeHandler).onResize(this);
}
;
_.getAssociatedType = function getAssociatedType_13(){
  return TYPE_12;
}
;
_.getClass$ = function getClass_158(){
  return Lcom_google_gwt_event_logical_shared_ResizeEvent_2_classLit;
}
;
_.width = 0;
var TYPE_12 = null;
function $dispatch_5(handler){
  handler.this$0.autoHideOnHistoryEvents && handler.this$0.hide();
}

function ValueChangeEvent_0(){
}

function fire_3(source){
  var event_0;
  if (TYPE_13) {
    event_0 = new ValueChangeEvent_0;
    $fireEvent(source.handlers, event_0);
  }
}

function ValueChangeEvent(){
}

_ = ValueChangeEvent_0.prototype = ValueChangeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_13(handler){
  $dispatch_5(dynamicCast(handler, Q$ValueChangeHandler));
}
;
_.getAssociatedType = function getAssociatedType_14(){
  return TYPE_13;
}
;
_.getClass$ = function getClass_159(){
  return Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit;
}
;
var TYPE_13 = null;
function $addHandler(this$static, type, handler){
  return new LegacyHandlerWrapper_0($doAdd(this$static.eventBus, type, handler));
}

function $fireEvent(this$static, event_0){
  var $e0, e, oldSource;
  !event_0.dead || event_0.revive();
  oldSource = event_0.source;
  $overrideSource(event_0, this$static.source);
  try {
    $doFire(this$static.eventBus, event_0);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$UmbrellaException)) {
      e = $e0;
      throw new UmbrellaException_3(e.causes);
    }
     else 
      throw $e0;
  }
   finally {
    oldSource == null?(event_0.dead = true , event_0.source = null):(event_0.source = oldSource);
  }
}

function $isEventHandled(this$static, e){
  return $isEventHandled_0(this$static.eventBus, e);
}

function HandlerManager_0(source){
  HandlerManager_1.call(this, source, false);
}

function HandlerManager_1(source, fireInReverseOrder){
  this.eventBus = new HandlerManager$Bus_0(fireInReverseOrder);
  this.source = source;
}

function HandlerManager(){
}

_ = HandlerManager_1.prototype = HandlerManager_0.prototype = HandlerManager.prototype = new Object_0;
_.fireEvent = function fireEvent(event_0){
  $fireEvent(this, event_0);
}
;
_.getClass$ = function getClass_160(){
  return Lcom_google_gwt_event_shared_HandlerManager_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers]);
_.eventBus = null;
_.source = null;
function EventBus(){
}

_ = EventBus.prototype = new Object_0;
_.getClass$ = function getClass_161(){
  return Lcom_google_web_bindery_event_shared_EventBus_2_classLit;
}
;
function $defer(this$static, command){
  !this$static.deferredDeltas && (this$static.deferredDeltas = new ArrayList_0);
  $add_1(this$static.deferredDeltas, command);
}

function $doAdd(this$static, type, handler){
  if (!type) {
    throw new NullPointerException_1('Cannot add a handler with a null type');
  }
  if (!handler) {
    throw new NullPointerException_1('Cannot add a null handler');
  }
  this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$2_0(this$static, type, handler)):$doAddNow(this$static, type, null, handler);
  return new SimpleEventBus$1_0(this$static, type, handler);
}

function $doAddNow(this$static, type, source, handler){
  var l_0;
  l_0 = $ensureHandlerList(this$static, type, source);
  l_0.add(handler);
}

function $doFire(this$static, event_0){
  var $e0, causes, e, handler, handlers, it;
  if (!event_0) {
    throw new NullPointerException_1('Cannot fire null event');
  }
  try {
    ++this$static.firingDepth;
    handlers = $getDispatchList(this$static, event_0.getAssociatedType());
    causes = null;
    it = this$static.isReverseOrder?handlers.listIterator_0(handlers.size_0()):handlers.listIterator();
    while (this$static.isReverseOrder?it.hasPrevious():it.hasNext()) {
      handler = this$static.isReverseOrder?it.previous():it.next_0();
      try {
        event_0.dispatch(dynamicCast(handler, Q$EventHandler));
      }
       catch ($e0) {
        $e0 = caught_0($e0);
        if (instanceOf($e0, Q$Throwable)) {
          e = $e0;
          !causes && (causes = new HashSet_0);
          $add_8(causes, e);
        }
         else 
          throw $e0;
      }
    }
    if (causes) {
      throw new UmbrellaException_1(causes);
    }
  }
   finally {
    --this$static.firingDepth;
    this$static.firingDepth == 0 && $handleQueuedAddsAndRemoves(this$static);
  }
}

function $doRemoveNow(this$static, type, source, handler){
  var l_0, removed, sourceMap;
  l_0 = $getHandlerList(this$static, type, source);
  removed = l_0.remove_0(handler);
  removed && l_0.isEmpty() && (sourceMap = dynamicCast(this$static.map.get_0(type), Q$Map) , dynamicCast(sourceMap.remove_3(source), Q$List) , sourceMap.isEmpty() && this$static.map.remove_3(type) , undefined);
}

function $ensureHandlerList(this$static, type, source){
  var handlers, sourceMap;
  sourceMap = dynamicCast(this$static.map.get_0(type), Q$Map);
  if (!sourceMap) {
    sourceMap = new HashMap_0;
    this$static.map.put(type, sourceMap);
  }
  handlers = dynamicCast(sourceMap.get_0(source), Q$List);
  if (!handlers) {
    handlers = new ArrayList_0;
    sourceMap.put(source, handlers);
  }
  return handlers;
}

function $getDispatchList(this$static, type){
  var directHandlers;
  directHandlers = $getHandlerList(this$static, type, null);
  return directHandlers;
}

function $getHandlerList(this$static, type, source){
  var handlers, sourceMap;
  sourceMap = dynamicCast(this$static.map.get_0(type), Q$Map);
  if (!sourceMap) {
    return $clinit_Collections() , $clinit_Collections() , EMPTY_LIST;
  }
  handlers = dynamicCast(sourceMap.get_0(source), Q$List);
  if (!handlers) {
    return $clinit_Collections() , $clinit_Collections() , EMPTY_LIST;
  }
  return handlers;
}

function $handleQueuedAddsAndRemoves(this$static){
  var c, c$iterator;
  if (this$static.deferredDeltas) {
    try {
      for (c$iterator = new AbstractList$IteratorImpl_0(this$static.deferredDeltas); c$iterator.i < c$iterator.this$0_0.size_0();) {
        c = dynamicCast($next_1(c$iterator), Q$SimpleEventBus$Command);
        c.execute_1();
      }
    }
     finally {
      this$static.deferredDeltas = null;
    }
  }
}

function $isEventHandled_0(this$static, eventKey){
  return this$static.map.containsKey(eventKey);
}

function SimpleEventBus(){
}

_ = SimpleEventBus.prototype = new EventBus;
_.getClass$ = function getClass_162(){
  return Lcom_google_web_bindery_event_shared_SimpleEventBus_2_classLit;
}
;
_.deferredDeltas = null;
_.firingDepth = 0;
_.isReverseOrder = false;
function $doRemove(this$static, type, source, handler){
  this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$3_0(this$static, type, source, handler)):$doRemoveNow(this$static, type, source, handler);
}

function HandlerManager$Bus_0(fireInReverseOrder){
  this.map = new HashMap_0;
  this.isReverseOrder = fireInReverseOrder;
}

function HandlerManager$Bus(){
}

_ = HandlerManager$Bus_0.prototype = HandlerManager$Bus.prototype = new SimpleEventBus;
_.getClass$ = function getClass_163(){
  return Lcom_google_gwt_event_shared_HandlerManager$Bus_2_classLit;
}
;
function LegacyHandlerWrapper_0(real){
  this.real = real;
}

function LegacyHandlerWrapper(){
}

_ = LegacyHandlerWrapper_0.prototype = LegacyHandlerWrapper.prototype = new Object_0;
_.getClass$ = function getClass_164(){
  return Lcom_google_gwt_event_shared_LegacyHandlerWrapper_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HandlerRegistration]);
_.real = null;
function UmbrellaException_1(causes){
  RuntimeException_2.call(this, 'One or more exceptions caught, see full set in UmbrellaException#getCauses', causes.size_0() == 0?null:dynamicCast(causes.toArray_0(initDim(_3Ljava_lang_Throwable_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1, Q$Throwable_$1]), Q$Throwable, 0, 0)), Q$Throwable_$1)[0]);
  this.causes = causes;
}

function UmbrellaException_2(){
  RuntimeException_1.call(this, 'One or more exceptions caught, see full set in UmbrellaException#getCauses');
  this.causes = ($clinit_Collections() , $clinit_Collections() , EMPTY_SET);
}

function UmbrellaException_0(){
}

_ = UmbrellaException_2.prototype = UmbrellaException_1.prototype = UmbrellaException_0.prototype = new RuntimeException;
_.getClass$ = function getClass_165(){
  return Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$UmbrellaException, Q$Serializable, Q$RuntimeException, Q$Throwable]);
_.causes = null;
function UmbrellaException_3(causes){
  UmbrellaException_1.call(this, causes);
}

function UmbrellaException_4(){
  UmbrellaException_2.call(this);
}

function UmbrellaException(){
}

_ = UmbrellaException_4.prototype = UmbrellaException_3.prototype = UmbrellaException.prototype = new UmbrellaException_0;
_.getClass$ = function getClass_166(){
  return Lcom_google_gwt_event_shared_UmbrellaException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$UmbrellaException, Q$Serializable, Q$RuntimeException, Q$Throwable]);
function deserialize_22(streamReader, instance){
  setCauses(instance, dynamicCast($readObject(streamReader), Q$Set));
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_22(streamReader){
  return new UmbrellaException_4;
}

function $cancel_1(this$static){
  var xmlHttp;
  if (this$static.xmlHttpRequest) {
    xmlHttp = this$static.xmlHttpRequest;
    this$static.xmlHttpRequest = null;
    $clearOnReadyStateChange(xmlHttp);
    xmlHttp.abort();
    !!this$static.timer && $cancel_0(this$static.timer);
  }
}

function $fireOnResponseReceived(this$static, callback){
  var errorMsg, response, xhr;
  if (!this$static.xmlHttpRequest) {
    return;
  }
  !!this$static.timer && $cancel_0(this$static.timer);
  xhr = this$static.xmlHttpRequest;
  this$static.xmlHttpRequest = null;
  errorMsg = $getBrowserSpecificFailure(xhr);
  if (errorMsg != null) {
    new RuntimeException_1(errorMsg);
    $onFailure(callback.callback);
  }
   else {
    response = new Request$1_0(xhr);
    $onResponseReceived(callback, response);
  }
}

function $fireOnTimeout(this$static, callback){
  if (!this$static.xmlHttpRequest) {
    return;
  }
  $cancel_1(this$static);
  $onError(callback, new RequestTimeoutException_0(this$static.timeoutMillis));
}

function $getBrowserSpecificFailure(xhr){
  try {
    if (xhr.status === undefined) {
      return 'XmlHttpRequest.status == undefined, please see Safari bug http://bugs.webkit.org/show_bug.cgi?id=3810 for more details';
    }
    return null;
  }
   catch (e) {
    return 'Unable to read XmlHttpRequest.status; likely causes are a networking error or bad cross-domain request. Please see https://bugzilla.mozilla.org/show_bug.cgi?id=238559 for more details';
  }
}

function Request_0(xmlHttpRequest, timeoutMillis, callback){
  if (!xmlHttpRequest) {
    throw new NullPointerException_0;
  }
  if (!callback) {
    throw new NullPointerException_0;
  }
  if (timeoutMillis < 0) {
    throw new IllegalArgumentException_0;
  }
  this.timeoutMillis = timeoutMillis;
  this.xmlHttpRequest = xmlHttpRequest;
  if (timeoutMillis > 0) {
    this.timer = new Request$3_0(this, callback);
    $schedule(this.timer, timeoutMillis);
  }
   else {
    this.timer = null;
  }
}

function Request(){
}

_ = Request_0.prototype = Request.prototype = new Object_0;
_.getClass$ = function getClass_167(){
  return Lcom_google_gwt_http_client_Request_2_classLit;
}
;
_.timeoutMillis = 0;
_.timer = null;
_.xmlHttpRequest = null;
function Response(){
}

_ = Response.prototype = new Object_0;
_.getClass$ = function getClass_168(){
  return Lcom_google_gwt_http_client_Response_2_classLit;
}
;
function Request$1_0(val$xmlHttpRequest){
  this.val$xmlHttpRequest = val$xmlHttpRequest;
}

function Request$1(){
}

_ = Request$1_0.prototype = Request$1.prototype = new Response;
_.getClass$ = function getClass_169(){
  return Lcom_google_gwt_http_client_Request$1_2_classLit;
}
;
_.val$xmlHttpRequest = null;
function Request$3_0(this$0, val$callback){
  $clinit_Timer();
  this.this$0 = this$0;
  this.val$callback = val$callback;
}

function Request$3(){
}

_ = Request$3_0.prototype = Request$3.prototype = new Timer;
_.getClass$ = function getClass_170(){
  return Lcom_google_gwt_http_client_Request$3_2_classLit;
}
;
_.run = function run_0(){
  $fireOnTimeout(this.this$0, this.val$callback);
}
;
_.castableTypeMap$ = makeCastMap([Q$Timer]);
_.this$0 = null;
_.val$callback = null;
function $clinit_RequestBuilder(){
  $clinit_RequestBuilder = nullMethod;
  new RequestBuilder$Method_0('DELETE');
  new RequestBuilder$Method_0('GET');
  new RequestBuilder$Method_0('HEAD');
  POST = new RequestBuilder$Method_0('POST');
  new RequestBuilder$Method_0('PUT');
}

function $doSend(this$static, requestData, callback){
  var $e0, e, request, requestPermissionException, xmlHttpRequest;
  xmlHttpRequest = create_2();
  try {
    $open(xmlHttpRequest, this$static.httpMethod, this$static.url);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$JavaScriptException)) {
      e = $e0;
      requestPermissionException = new RequestPermissionException_0(this$static.url);
      $initCause(requestPermissionException, new RequestException_1(e.getMessage()));
      throw requestPermissionException;
    }
     else 
      throw $e0;
  }
  $setHeaders(this$static, xmlHttpRequest);
  request = new Request_0(xmlHttpRequest, this$static.timeoutMillis, callback);
  $setOnReadyStateChange(xmlHttpRequest, new RequestBuilder$1_0(request, callback));
  try {
    xmlHttpRequest.send(requestData);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$JavaScriptException)) {
      e = $e0;
      throw new RequestException_1(e.getMessage());
    }
     else 
      throw $e0;
  }
  return request;
}

function $setHeader(this$static, header, value){
  throwIfEmptyOrNull('header', header);
  throwIfEmptyOrNull('value', value);
  !this$static.headers && (this$static.headers = new HashMap_0);
  this$static.headers.put(header, value);
}

function $setHeaders(this$static, xmlHttpRequest){
  var $e0, e, header, header$iterator;
  if (!!this$static.headers && this$static.headers.size_0() > 0) {
    for (header$iterator = this$static.headers.entrySet().iterator(); header$iterator.hasNext();) {
      header = dynamicCast(header$iterator.next_0(), Q$Map$Entry);
      try {
        $setRequestHeader(xmlHttpRequest, dynamicCast(header.getKey(), Q$String), dynamicCast(header.getValue(), Q$String));
      }
       catch ($e0) {
        $e0 = caught_0($e0);
        if (instanceOf($e0, Q$JavaScriptException)) {
          e = $e0;
          throw new RequestException_1(e.getMessage());
        }
         else 
          throw $e0;
      }
    }
  }
   else {
    xmlHttpRequest.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
  }
}

function RequestBuilder_0(httpMethod, url){
  $clinit_RequestBuilder();
  RequestBuilder_1.call(this, !httpMethod?null:httpMethod.name_0, url);
}

function RequestBuilder_1(httpMethod, url){
  throwIfEmptyOrNull('httpMethod', httpMethod);
  throwIfEmptyOrNull('url', url);
  this.httpMethod = httpMethod;
  this.url = url;
}

function RequestBuilder(){
}

_ = RequestBuilder_0.prototype = RequestBuilder.prototype = new Object_0;
_.getClass$ = function getClass_171(){
  return Lcom_google_gwt_http_client_RequestBuilder_2_classLit;
}
;
_.callback = null;
_.headers = null;
_.httpMethod = null;
_.requestData = null;
_.timeoutMillis = 0;
_.url = null;
var POST;
function RequestBuilder$1_0(val$request, val$callback){
  this.val$request = val$request;
  this.val$callback = val$callback;
}

function RequestBuilder$1(){
}

_ = RequestBuilder$1_0.prototype = RequestBuilder$1.prototype = new Object_0;
_.getClass$ = function getClass_172(){
  return Lcom_google_gwt_http_client_RequestBuilder$1_2_classLit;
}
;
_.onReadyStateChange = function onReadyStateChange(xhr){
  if (xhr.readyState == 4) {
    $clearOnReadyStateChange(xhr);
    $fireOnResponseReceived(this.val$request, this.val$callback);
  }
}
;
_.val$callback = null;
_.val$request = null;
function RequestBuilder$Method_0(name_0){
  this.name_0 = name_0;
}

function RequestBuilder$Method(){
}

_ = RequestBuilder$Method_0.prototype = RequestBuilder$Method.prototype = new Object_0;
_.getClass$ = function getClass_173(){
  return Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit;
}
;
_.toString$ = function toString_5(){
  return this.name_0;
}
;
_.name_0 = null;
function RequestException_0(){
  $fillInStackTrace();
}

function RequestException_1(message){
  Exception_1.call(this, message);
}

function RequestException(){
}

_ = RequestException_1.prototype = RequestException_0.prototype = RequestException.prototype = new Exception;
_.getClass$ = function getClass_174(){
  return Lcom_google_gwt_http_client_RequestException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestException, Q$Serializable, Q$Throwable]);
function deserialize_23(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_23(streamReader){
  return new RequestException_0;
}

function RequestPermissionException_0(url){
  $fillInStackTrace();
  this.detailMessage = 'The URL ' + url + ' is invalid or violates the same-origin security restriction';
}

function RequestPermissionException(){
}

_ = RequestPermissionException_0.prototype = RequestPermissionException.prototype = new RequestException;
_.getClass$ = function getClass_175(){
  return Lcom_google_gwt_http_client_RequestPermissionException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestException, Q$Serializable, Q$Throwable]);
function RequestTimeoutException_0(timeoutMillis){
  $fillInStackTrace();
  this.detailMessage = 'A request timeout has expired after ' + timeoutMillis + ' ms';
}

function RequestTimeoutException(){
}

_ = RequestTimeoutException_0.prototype = RequestTimeoutException.prototype = new RequestException;
_.getClass$ = function getClass_176(){
  return Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestException, Q$Serializable, Q$Throwable]);
function throwIfEmptyOrNull(name_0, value){
  throwIfNull(name_0, value);
  if (0 == $trim(value).length) {
    throw new IllegalArgumentException_1(name_0 + ' cannot be empty');
  }
}

function throwIfNull(name_0, value){
  if (null == value) {
    throw new NullPointerException_1(name_0 + ' cannot be null');
  }
}

function AutoDirectionHandler_0(){
}

function AutoDirectionHandler(){
}

_ = AutoDirectionHandler_0.prototype = AutoDirectionHandler.prototype = new Object_0;
_.getClass$ = function getClass_177(){
  return Lcom_google_gwt_i18n_client_AutoDirectionHandler_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler]);
function getDirectionOnElement(elem){
  var dirPropertyValue;
  dirPropertyValue = $getPropertyString(elem, 'dir');
  if ($equalsIgnoreCase('rtl', dirPropertyValue)) {
    return $clinit_HasDirection$Direction() , RTL;
  }
   else if ($equalsIgnoreCase('ltr', dirPropertyValue)) {
    return $clinit_HasDirection$Direction() , LTR;
  }
  return $clinit_HasDirection$Direction() , DEFAULT_1;
}

function setDirectionOnElement(elem, direction){
  switch (direction.ordinal) {
    case 0:
      {
        elem['dir'] = 'rtl';
        break;
      }

    case 1:
      {
        elem['dir'] = 'ltr';
        break;
      }

    case 2:
      {
        getDirectionOnElement(elem) != ($clinit_HasDirection$Direction() , DEFAULT_1) && (elem['dir'] = '' , undefined);
        break;
      }

  }
}

function $clinit_DateTimeFormat$PredefinedFormat(){
  $clinit_DateTimeFormat$PredefinedFormat = nullMethod;
  ISO_8601 = new DateTimeFormat$PredefinedFormat_0('ISO_8601', 0);
  RFC_2822 = new DateTimeFormat$PredefinedFormat_0('RFC_2822', 1);
  DATE_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_FULL', 2);
  DATE_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_LONG', 3);
  DATE_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_MEDIUM', 4);
  DATE_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_SHORT', 5);
  TIME_FULL = new DateTimeFormat$PredefinedFormat_0('TIME_FULL', 6);
  TIME_LONG = new DateTimeFormat$PredefinedFormat_0('TIME_LONG', 7);
  TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('TIME_MEDIUM', 8);
  TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('TIME_SHORT', 9);
  DATE_TIME_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_FULL', 10);
  DATE_TIME_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_LONG', 11);
  DATE_TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_MEDIUM', 12);
  DATE_TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_SHORT', 13);
  DAY = new DateTimeFormat$PredefinedFormat_0('DAY', 14);
  HOUR_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE', 15);
  HOUR_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE_SECOND', 16);
  HOUR24_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE', 17);
  HOUR24_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE_SECOND', 18);
  MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('MINUTE_SECOND', 19);
  MONTH = new DateTimeFormat$PredefinedFormat_0('MONTH', 20);
  MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR', 21);
  MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR_DAY', 22);
  MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_DAY', 23);
  MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_NUM_DAY', 24);
  MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_WEEKDAY_DAY', 25);
  YEAR = new DateTimeFormat$PredefinedFormat_0('YEAR', 26);
  YEAR_MONTH = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH', 27);
  YEAR_MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR', 28);
  YEAR_MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR_DAY', 29);
  YEAR_MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_DAY', 30);
  YEAR_MONTH_NUM = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM', 31);
  YEAR_MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM_DAY', 32);
  YEAR_MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_WEEKDAY_DAY', 33);
  YEAR_QUARTER = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER', 34);
  YEAR_QUARTER_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER_ABBR', 35);
  $VALUES_21 = initValues(_3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$DateTimeFormat$PredefinedFormat, [ISO_8601, RFC_2822, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR_MINUTE, HOUR_MINUTE_SECOND, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR]);
}

function DateTimeFormat$PredefinedFormat_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_22(){
  $clinit_DateTimeFormat$PredefinedFormat();
  return $VALUES_21;
}

function DateTimeFormat$PredefinedFormat(){
}

_ = DateTimeFormat$PredefinedFormat_0.prototype = DateTimeFormat$PredefinedFormat.prototype = new Enum;
_.getClass$ = function getClass_178(){
  return Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$DateTimeFormat$PredefinedFormat, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_21, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, HOUR_MINUTE, HOUR_MINUTE_SECOND, ISO_8601, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, RFC_2822, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR;
function deserialize_24(streamReader, instance){
}

function instantiate_24(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_DateTimeFormat$PredefinedFormat() , $clinit_DateTimeFormat$PredefinedFormat() , $VALUES_21);
  return values[ordinal];
}

function $clinit_HasDirection$Direction(){
  $clinit_HasDirection$Direction = nullMethod;
  RTL = new HasDirection$Direction_0('RTL', 0);
  LTR = new HasDirection$Direction_0('LTR', 1);
  DEFAULT_1 = new HasDirection$Direction_0('DEFAULT', 2);
  $VALUES_22 = initValues(_3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$HasDirection$Direction, [RTL, LTR, DEFAULT_1]);
}

function HasDirection$Direction_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_23(){
  $clinit_HasDirection$Direction();
  return $VALUES_22;
}

function HasDirection$Direction(){
}

_ = HasDirection$Direction_0.prototype = HasDirection$Direction.prototype = new Enum;
_.getClass$ = function getClass_179(){
  return Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasDirection$Direction, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_22, DEFAULT_1, LTR, RTL;
function deserialize_25(streamReader, instance){
}

function instantiate_25(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_HasDirection$Direction() , $clinit_HasDirection$Direction() , $VALUES_22);
  return values[ordinal];
}

--></script>
<script><!--
function $clinit_DateTimeFormat$PredefinedFormat_0(){
  $clinit_DateTimeFormat$PredefinedFormat_0 = nullMethod;
  ISO_8601_0 = new DateTimeFormat$PredefinedFormat_2('ISO_8601', 0);
  RFC_2822_0 = new DateTimeFormat$PredefinedFormat_2('RFC_2822', 1);
  DATE_FULL_0 = new DateTimeFormat$PredefinedFormat_2('DATE_FULL', 2);
  DATE_LONG_0 = new DateTimeFormat$PredefinedFormat_2('DATE_LONG', 3);
  DATE_MEDIUM_0 = new DateTimeFormat$PredefinedFormat_2('DATE_MEDIUM', 4);
  DATE_SHORT_0 = new DateTimeFormat$PredefinedFormat_2('DATE_SHORT', 5);
  TIME_FULL_0 = new DateTimeFormat$PredefinedFormat_2('TIME_FULL', 6);
  TIME_LONG_0 = new DateTimeFormat$PredefinedFormat_2('TIME_LONG', 7);
  TIME_MEDIUM_0 = new DateTimeFormat$PredefinedFormat_2('TIME_MEDIUM', 8);
  TIME_SHORT_0 = new DateTimeFormat$PredefinedFormat_2('TIME_SHORT', 9);
  DATE_TIME_FULL_0 = new DateTimeFormat$PredefinedFormat_2('DATE_TIME_FULL', 10);
  DATE_TIME_LONG_0 = new DateTimeFormat$PredefinedFormat_2('DATE_TIME_LONG', 11);
  DATE_TIME_MEDIUM_0 = new DateTimeFormat$PredefinedFormat_2('DATE_TIME_MEDIUM', 12);
  DATE_TIME_SHORT_0 = new DateTimeFormat$PredefinedFormat_2('DATE_TIME_SHORT', 13);
  DAY_0 = new DateTimeFormat$PredefinedFormat_2('DAY', 14);
  HOUR_MINUTE_0 = new DateTimeFormat$PredefinedFormat_2('HOUR_MINUTE', 15);
  HOUR_MINUTE_SECOND_0 = new DateTimeFormat$PredefinedFormat_2('HOUR_MINUTE_SECOND', 16);
  HOUR24_MINUTE_0 = new DateTimeFormat$PredefinedFormat_2('HOUR24_MINUTE', 17);
  HOUR24_MINUTE_SECOND_0 = new DateTimeFormat$PredefinedFormat_2('HOUR24_MINUTE_SECOND', 18);
  MINUTE_SECOND_0 = new DateTimeFormat$PredefinedFormat_2('MINUTE_SECOND', 19);
  MONTH_0 = new DateTimeFormat$PredefinedFormat_2('MONTH', 20);
  MONTH_ABBR_0 = new DateTimeFormat$PredefinedFormat_2('MONTH_ABBR', 21);
  MONTH_ABBR_DAY_0 = new DateTimeFormat$PredefinedFormat_2('MONTH_ABBR_DAY', 22);
  MONTH_DAY_0 = new DateTimeFormat$PredefinedFormat_2('MONTH_DAY', 23);
  MONTH_NUM_DAY_0 = new DateTimeFormat$PredefinedFormat_2('MONTH_NUM_DAY', 24);
  MONTH_WEEKDAY_DAY_0 = new DateTimeFormat$PredefinedFormat_2('MONTH_WEEKDAY_DAY', 25);
  YEAR_0 = new DateTimeFormat$PredefinedFormat_2('YEAR', 26);
  YEAR_MONTH_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_MONTH', 27);
  YEAR_MONTH_ABBR_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_MONTH_ABBR', 28);
  YEAR_MONTH_ABBR_DAY_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_MONTH_ABBR_DAY', 29);
  YEAR_MONTH_DAY_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_MONTH_DAY', 30);
  YEAR_MONTH_NUM_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_MONTH_NUM', 31);
  YEAR_MONTH_NUM_DAY_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_MONTH_NUM_DAY', 32);
  YEAR_MONTH_WEEKDAY_DAY_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_MONTH_WEEKDAY_DAY', 33);
  YEAR_QUARTER_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_QUARTER', 34);
  YEAR_QUARTER_ABBR_0 = new DateTimeFormat$PredefinedFormat_2('YEAR_QUARTER_ABBR', 35);
  $VALUES_23 = initValues(_3Lcom_google_gwt_i18n_shared_DateTimeFormat$PredefinedFormat_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$DateTimeFormat$PredefinedFormat_0, [ISO_8601_0, RFC_2822_0, DATE_FULL_0, DATE_LONG_0, DATE_MEDIUM_0, DATE_SHORT_0, TIME_FULL_0, TIME_LONG_0, TIME_MEDIUM_0, TIME_SHORT_0, DATE_TIME_FULL_0, DATE_TIME_LONG_0, DATE_TIME_MEDIUM_0, DATE_TIME_SHORT_0, DAY_0, HOUR_MINUTE_0, HOUR_MINUTE_SECOND_0, HOUR24_MINUTE_0, HOUR24_MINUTE_SECOND_0, MINUTE_SECOND_0, MONTH_0, MONTH_ABBR_0, MONTH_ABBR_DAY_0, MONTH_DAY_0, MONTH_NUM_DAY_0, MONTH_WEEKDAY_DAY_0, YEAR_0, YEAR_MONTH_0, YEAR_MONTH_ABBR_0, YEAR_MONTH_ABBR_DAY_0, YEAR_MONTH_DAY_0, YEAR_MONTH_NUM_0, YEAR_MONTH_NUM_DAY_0, YEAR_MONTH_WEEKDAY_DAY_0, YEAR_QUARTER_0, YEAR_QUARTER_ABBR_0]);
}

function DateTimeFormat$PredefinedFormat_2(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_24(){
  $clinit_DateTimeFormat$PredefinedFormat_0();
  return $VALUES_23;
}

function DateTimeFormat$PredefinedFormat_1(){
}

_ = DateTimeFormat$PredefinedFormat_2.prototype = DateTimeFormat$PredefinedFormat_1.prototype = new Enum;
_.getClass$ = function getClass_180(){
  return Lcom_google_gwt_i18n_shared_DateTimeFormat$PredefinedFormat_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$DateTimeFormat$PredefinedFormat_0, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_23, DATE_FULL_0, DATE_LONG_0, DATE_MEDIUM_0, DATE_SHORT_0, DATE_TIME_FULL_0, DATE_TIME_LONG_0, DATE_TIME_MEDIUM_0, DATE_TIME_SHORT_0, DAY_0, HOUR24_MINUTE_0, HOUR24_MINUTE_SECOND_0, HOUR_MINUTE_0, HOUR_MINUTE_SECOND_0, ISO_8601_0, MINUTE_SECOND_0, MONTH_0, MONTH_ABBR_0, MONTH_ABBR_DAY_0, MONTH_DAY_0, MONTH_NUM_DAY_0, MONTH_WEEKDAY_DAY_0, RFC_2822_0, TIME_FULL_0, TIME_LONG_0, TIME_MEDIUM_0, TIME_SHORT_0, YEAR_0, YEAR_MONTH_0, YEAR_MONTH_ABBR_0, YEAR_MONTH_ABBR_DAY_0, YEAR_MONTH_DAY_0, YEAR_MONTH_NUM_0, YEAR_MONTH_NUM_DAY_0, YEAR_MONTH_WEEKDAY_DAY_0, YEAR_QUARTER_0, YEAR_QUARTER_ABBR_0;
function deserialize_26(streamReader, instance){
}

function instantiate_26(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_DateTimeFormat$PredefinedFormat_0() , $clinit_DateTimeFormat$PredefinedFormat_0() , $VALUES_23);
  return values[ordinal];
}

function $hashCode(this$static){
  var time;
  time = this$static.getTime_0();
  return toInt(xor(time, shru(time, 32)));
}

function $setTime_0(this$static, time){
  $setTime(this$static.jsdate, toDouble(time));
}

function Date_1(){
  this.jsdate = new Date;
}

function Date_2(date){
  this.jsdate = create(toDouble(date));
}

function padTwo(number){
  return number < 10?'0' + number:'' + number;
}

function Date_0(){
}

_ = Date_2.prototype = Date_1.prototype = Date_0.prototype = new Object_0;
_.compareTo = function compareTo_0(other){
  return signum(sub(this.getTime_0(), other.getTime_0()));
}
;
_.compareTo$ = function compareTo_1(other){
  return this.compareTo(dynamicCast(other, Q$Date));
}
;
_.equals$ = function equals_1(obj){
  return instanceOf(obj, Q$Date) && eq(this.getTime_0(), dynamicCast(obj, Q$Date).getTime_0());
}
;
_.getClass$ = function getClass_181(){
  return Ljava_util_Date_2_classLit;
}
;
_.getTime_0 = function getTime(){
  return fromDouble(this.jsdate.getTime());
}
;
_.hashCode$ = function hashCode_3(){
  return $hashCode(this);
}
;
_.toString$ = function toString_6(){
  var hourOffset, minuteOffset, offset;
  offset = -this.jsdate.getTimezoneOffset();
  hourOffset = (offset >= 0?'+':'') + ~~(offset / 60);
  minuteOffset = (offset < 0?-offset:offset) % 60 < 10?'0' + (offset < 0?-offset:offset) % 60:'' + (offset < 0?-offset:offset) % 60;
  return ($clinit_Date$StringData() , DAYS)[this.jsdate.getDay()] + ' ' + MONTHS[this.jsdate.getMonth()] + ' ' + padTwo(this.jsdate.getDate()) + ' ' + padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds()) + ' GMT' + hourOffset + minuteOffset + ' ' + this.jsdate.getFullYear();
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Date]);
_.jsdate = null;
function DateRecord_0(){
  Date_1.call(this);
  this.era = -1;
  this.ambiguousYear = false;
  this.year = -2147483648;
  this.month = -1;
  this.dayOfMonth = -1;
  this.ampm = -1;
  this.hours = -1;
  this.minutes = -1;
  this.seconds = -1;
  this.milliseconds = -1;
  this.dayOfWeek = -1;
  this.tzOffset = -2147483648;
}

function DateRecord(){
}

_ = DateRecord_0.prototype = DateRecord.prototype = new Date_0;
_.getClass$ = function getClass_182(){
  return Lcom_google_gwt_i18n_shared_impl_DateRecord_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Date]);
_.ambiguousYear = false;
_.ampm = 0;
_.dayOfMonth = 0;
_.dayOfWeek = 0;
_.era = 0;
_.hours = 0;
_.milliseconds = 0;
_.minutes = 0;
_.month = 0;
_.seconds = 0;
_.tzOffset = 0;
_.year = 0;
function deserialize_27(streamReader, instance){
  setAmbiguousYear(instance, $readBoolean(streamReader));
  setAmpm(instance, $readInt(streamReader));
  setDayOfMonth(instance, $readInt(streamReader));
  setDayOfWeek(instance, $readInt(streamReader));
  setEra(instance, $readInt(streamReader));
  setHours(instance, $readInt(streamReader));
  setMilliseconds(instance, $readInt(streamReader));
  setMinutes(instance, $readInt(streamReader));
  setMonth(instance, $readInt(streamReader));
  setSeconds(instance, $readInt(streamReader));
  setTzOffset(instance, $readInt(streamReader));
  setYear(instance, $readInt(streamReader));
}

function instantiate_27(streamReader){
  return new DateRecord_0;
}

function setAmbiguousYear(instance, value){
  instance.ambiguousYear = value;
}

function setAmpm(instance, value){
  instance.ampm = value;
}

function setDayOfMonth(instance, value){
  instance.dayOfMonth = value;
}

function setDayOfWeek(instance, value){
  instance.dayOfWeek = value;
}

function setEra(instance, value){
  instance.era = value;
}

function setHours(instance, value){
  instance.hours = value;
}

function setMilliseconds(instance, value){
  instance.milliseconds = value;
}

function setMinutes(instance, value){
  instance.minutes = value;
}

function setMonth(instance, value){
  instance.month = value;
}

function setSeconds(instance, value){
  instance.seconds = value;
}

function setTzOffset(instance, value){
  instance.tzOffset = value;
}

function setYear(instance, value){
  instance.year = value;
}

function TimeoutException_0(){
  $fillInStackTrace();
}

function TimeoutException(){
}

_ = TimeoutException_0.prototype = TimeoutException.prototype = new Exception;
_.getClass$ = function getClass_183(){
  return Lcom_google_gwt_jsonp_client_TimeoutException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function deserialize_28(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_28(streamReader){
  return new TimeoutException_0;
}

function Array_1(){
}

function clone(array){
  return cloneSubrange(array, array.length);
}

function cloneSubrange(array, toIndex){
  var a, result;
  a = array;
  result = a.slice(0, toIndex);
  initValues(a.arrayClass$, a.castableTypeMap$, a.queryId$, result);
  return result;
}

function createFrom(array, length_0){
  var a, result;
  a = array;
  result = createFromSeed(0, length_0);
  initValues(a.arrayClass$, a.castableTypeMap$, a.queryId$, result);
  return result;
}

function createFromSeed(seedType, length_0){
  var array = new Array(length_0);
  if (seedType == 3) {
    for (var i = 0; i < length_0; ++i) {
      var value = new Object;
      value.l = value.m = value.h = 0;
      array[i] = value;
    }
  }
   else if (seedType > 0) {
    var value = [null, 0, false][seedType];
    for (var i = 0; i < length_0; ++i) {
      array[i] = value;
    }
  }
  return array;
}

function initDim(arrayClass, castableTypeMap, queryId, length_0, seedType){
  var result;
  result = createFromSeed(seedType, length_0);
  initValues(arrayClass, castableTypeMap, queryId, result);
  return result;
}

function initValues(arrayClass, castableTypeMap, queryId, array){
  $clinit_Array$ExpandoWrapper();
  wrapArray(array, expandoNames_0, expandoValues_0);
  array.arrayClass$ = arrayClass;
  array.castableTypeMap$ = castableTypeMap;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index, value){
  if (value != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value, array.queryId$)) {
      throw new ArrayStoreException_0;
    }
    if (array.queryId$ < 0 && (value.typeMarker$ == nullMethod || canCast(value, 1))) {
      throw new ArrayStoreException_0;
    }
  }
  return array[index] = value;
}

function Array_0(){
}

_ = Array_1.prototype = Array_0.prototype = new Object_0;
_.getClass$ = function getClass_184(){
  return this.arrayClass$;
}
;
_.arrayClass$ = null;
_.queryId$ = 0;
function $clinit_Array$ExpandoWrapper(){
  $clinit_Array$ExpandoWrapper = nullMethod;
  expandoNames_0 = [];
  expandoValues_0 = [];
  initExpandos(new Array_1, expandoNames_0, expandoValues_0);
}

function initExpandos(protoType, expandoNames, expandoValues){
  var i = 0, value;
  for (var name_0 in protoType) {
    if (value = protoType[name_0]) {
      expandoNames[i] = name_0;
      expandoValues[i] = value;
      ++i;
    }
  }
}

function wrapArray(array, expandoNames, expandoValues){
  $clinit_Array$ExpandoWrapper();
  for (var i = 0, c = expandoNames.length; i < c; ++i) {
    array[expandoNames[i]] = expandoValues[i];
  }
}

var expandoNames_0, expandoValues_0;
function canCast(src, dstId){
  return src.castableTypeMap$ && !!src.castableTypeMap$[dstId];
}

function canCastUnsafe(src, dstId){
  return src.castableTypeMap$ && src.castableTypeMap$[dstId];
}

function dynamicCast(src, dstId){
  if (src != null && !canCastUnsafe(src, dstId)) {
    throw new ClassCastException_0;
  }
  return src;
}

function dynamicCastJso(src){
  if (src != null && (src.typeMarker$ == nullMethod || canCast(src, 1))) {
    throw new ClassCastException_0;
  }
  return src;
}

function instanceOf(src, dstId){
  return src != null && canCast(src, dstId);
}

function instanceOfJso(src){
  return src != null && src.typeMarker$ != nullMethod && !canCast(src, 1);
}

function isJavaObject(src){
  return src.typeMarker$ == nullMethod || canCast(src, 1);
}

function maskUndefined(src){
  return src == null?null:src;
}

function round_int(x){
  return ~~Math.max(Math.min(x, 2147483647), -2147483648);
}

function throwClassCastExceptionUnlessNull(o){
  if (o != null) {
    throw new ClassCastException_0;
  }
  return null;
}

function init(){
  var runtimeValue;
  !!$stats && onModuleStart('com.google.gwt.user.client.UserAgentAsserter');
  runtimeValue = $getRuntimeValue();
  $equals_1('safari', runtimeValue) || ($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (safari) does not match the runtime user.agent value (' + runtimeValue + '). Expect more errors.\n') , undefined);
  !!$stats && onModuleStart('com.google.gwt.user.client.DocumentModeAsserter');
  $onModuleLoad();
  !!$stats && onModuleStart('edu.upenn.cis.cis550.hw3.client.WebTables');
  $onModuleLoad_0(new WebTables_0);
}

function caught_0(e){
  if (instanceOf(e, Q$Throwable)) {
    return e;
  }
  return new JavaScriptException_0(e);
}

function create_0(value){
  var a0, a1, a2;
  a0 = value & 4194303;
  a1 = ~~value >> 22 & 4194303;
  a2 = value < 0?1048575:0;
  return create0(a0, a1, a2);
}

function create_1(a){
  return create0(a.l, a.m, a.h);
}

function create0(l_0, m_0, h_0){
  return _ = new LongLibBase$LongEmul_0 , _.l = l_0 , _.m = m_0 , _.h = h_0 , _;
}

function divMod(a, b, computeRemainder){
  var aIsCopy, aIsMinValue, aIsNegative, bpower, c, negative;
  if (b.l == 0 && b.m == 0 && b.h == 0) {
    throw new ArithmeticException_0('divide by zero');
  }
  if (a.l == 0 && a.m == 0 && a.h == 0) {
    computeRemainder && (remainder = create0(0, 0, 0));
    return create0(0, 0, 0);
  }
  if (b.h == 524288 && b.m == 0 && b.l == 0) {
    return divModByMinValue(a, computeRemainder);
  }
  negative = false;
  if (~~b.h >> 19 != 0) {
    b = neg(b);
    negative = true;
  }
  bpower = powerOfTwo(b);
  aIsNegative = false;
  aIsMinValue = false;
  aIsCopy = false;
  if (a.h == 524288 && a.m == 0 && a.l == 0) {
    aIsMinValue = true;
    aIsNegative = true;
    if (bpower == -1) {
      a = create_1(($clinit_LongLib$Const() , MAX_VALUE));
      aIsCopy = true;
      negative = !negative;
    }
     else {
      c = shr(a, bpower);
      negative && negate(c);
      computeRemainder && (remainder = create0(0, 0, 0));
      return c;
    }
  }
   else if (~~a.h >> 19 != 0) {
    aIsNegative = true;
    a = neg(a);
    aIsCopy = true;
    negative = !negative;
  }
  if (bpower != -1) {
    return divModByShift(a, bpower, negative, aIsNegative, computeRemainder);
  }
  if (!gte_0(a, b)) {
    computeRemainder && (aIsNegative?(remainder = neg(a)):(remainder = create0(a.l, a.m, a.h)));
    return create0(0, 0, 0);
  }
  return divModHelper(aIsCopy?a:create0(a.l, a.m, a.h), b, negative, aIsNegative, aIsMinValue, computeRemainder);
}

function divModByMinValue(a, computeRemainder){
  if (a.h == 524288 && a.m == 0 && a.l == 0) {
    computeRemainder && (remainder = create0(0, 0, 0));
    return create_1(($clinit_LongLib$Const() , ONE));
  }
  computeRemainder && (remainder = create0(a.l, a.m, a.h));
  return create0(0, 0, 0);
}

function divModByShift(a, bpower, negative, aIsNegative, computeRemainder){
  var c;
  c = shr(a, bpower);
  negative && negate(c);
  if (computeRemainder) {
    a = maskRight(a, bpower);
    aIsNegative?(remainder = neg(a)):(remainder = create0(a.l, a.m, a.h));
  }
  return c;
}

function divModHelper(a, b, negative, aIsNegative, aIsMinValue, computeRemainder){
  var bshift, gte, quotient, shift, a0, a1, a2;
  shift = numberOfLeadingZeros(b) - numberOfLeadingZeros(a);
  bshift = shl(b, shift);
  quotient = create0(0, 0, 0);
  while (shift >= 0) {
    gte = trialSubtract(a, bshift);
    if (gte) {
      shift < 22?(quotient.l |= 1 << shift , undefined):shift < 44?(quotient.m |= 1 << shift - 22 , undefined):(quotient.h |= 1 << shift - 44 , undefined);
      if (a.l == 0 && a.m == 0 && a.h == 0) {
        break;
      }
    }
    a1 = bshift.m;
    a2 = bshift.h;
    a0 = bshift.l;
    bshift.h = ~~a2 >>> 1;
    bshift.m = ~~a1 >>> 1 | (a2 & 1) << 21;
    bshift.l = ~~a0 >>> 1 | (a1 & 1) << 21;
    --shift;
  }
  negative && negate(quotient);
  if (computeRemainder) {
    if (aIsNegative) {
      remainder = neg(a);
      aIsMinValue && (remainder = sub(remainder, ($clinit_LongLib$Const() , ONE)));
    }
     else {
      remainder = create0(a.l, a.m, a.h);
    }
  }
  return quotient;
}

function maskRight(a, bits){
  var b0, b1, b2;
  if (bits <= 22) {
    b0 = a.l & (1 << bits) - 1;
    b1 = b2 = 0;
  }
   else if (bits <= 44) {
    b0 = a.l;
    b1 = a.m & (1 << bits - 22) - 1;
    b2 = 0;
  }
   else {
    b0 = a.l;
    b1 = a.m;
    b2 = a.h & (1 << bits - 44) - 1;
  }
  return create0(b0, b1, b2);
}

function negate(a){
  var neg0, neg1, neg2;
  neg0 = ~a.l + 1 & 4194303;
  neg1 = ~a.m + (neg0 == 0?1:0) & 4194303;
  neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & 1048575;
  a.l = neg0;
  a.m = neg1;
  a.h = neg2;
}

function numberOfLeadingZeros(a){
  var b1, b2;
  b2 = numberOfLeadingZeros_0(a.h);
  if (b2 == 32) {
    b1 = numberOfLeadingZeros_0(a.m);
    return b1 == 32?numberOfLeadingZeros_0(a.l) + 32:b1 + 20 - 10;
  }
   else {
    return b2 - 12;
  }
}

function powerOfTwo(a){
  var h_0, l_0, m_0;
  l_0 = a.l;
  if ((l_0 & l_0 - 1) != 0) {
    return -1;
  }
  m_0 = a.m;
  if ((m_0 & m_0 - 1) != 0) {
    return -1;
  }
  h_0 = a.h;
  if ((h_0 & h_0 - 1) != 0) {
    return -1;
  }
  if (h_0 == 0 && m_0 == 0 && l_0 == 0) {
    return -1;
  }
  if (h_0 == 0 && m_0 == 0 && l_0 != 0) {
    return numberOfTrailingZeros(l_0);
  }
  if (h_0 == 0 && m_0 != 0 && l_0 == 0) {
    return numberOfTrailingZeros(m_0) + 22;
  }
  if (h_0 != 0 && m_0 == 0 && l_0 == 0) {
    return numberOfTrailingZeros(h_0) + 44;
  }
  return -1;
}

function toDoubleHelper(a){
  return a.l + a.m * 4194304 + a.h * 17592186044416;
}

function trialSubtract(a, b){
  var sum0, sum1, sum2;
  sum2 = a.h - b.h;
  if (sum2 < 0) {
    return false;
  }
  sum0 = a.l - b.l;
  sum1 = a.m - b.m + (~~sum0 >> 22);
  sum2 += ~~sum1 >> 22;
  if (sum2 < 0) {
    return false;
  }
  a.l = sum0 & 4194303;
  a.m = sum1 & 4194303;
  a.h = sum2 & 1048575;
  return true;
}

var remainder = null;
function add_0(a, b){
  var sum0, sum1, sum2;
  sum0 = a.l + b.l;
  sum1 = a.m + b.m + (~~sum0 >> 22);
  sum2 = a.h + b.h + (~~sum1 >> 22);
  return create0(sum0 & 4194303, sum1 & 4194303, sum2 & 1048575);
}

function and(a, b){
  return create0(a.l & b.l, a.m & b.m, a.h & b.h);
}

function base64Value(digit){
  if (digit >= 65 && digit <= 90) {
    return digit - 65;
  }
  if (digit >= 97) {
    return digit - 97 + 26;
  }
  if (digit >= 48 && digit <= 57) {
    return digit - 48 + 52;
  }
  if (digit == 36) {
    return 62;
  }
  return 63;
}

function div(a, b){
  return divMod(a, b, false);
}

function eq(a, b){
  return a.l == b.l && a.m == b.m && a.h == b.h;
}

function fromDouble(value){
  var a0, a1, a2, negative, result;
  if (isNaN(value)) {
    return $clinit_LongLib$Const() , ZERO;
  }
  if (value < -9223372036854775808) {
    return $clinit_LongLib$Const() , MIN_VALUE;
  }
  if (value >= 9223372036854775807) {
    return $clinit_LongLib$Const() , MAX_VALUE;
  }
  negative = false;
  if (value < 0) {
    negative = true;
    value = -value;
  }
  a2 = 0;
  if (value >= 17592186044416) {
    a2 = round_int(value / 17592186044416);
    value -= a2 * 17592186044416;
  }
  a1 = 0;
  if (value >= 4194304) {
    a1 = round_int(value / 4194304);
    value -= a1 * 4194304;
  }
  a0 = round_int(value);
  result = create0(a0, a1, a2);
  negative && negate(result);
  return result;
}

function fromInt(value){
  var rebase, result;
  if (value > -129 && value < 128) {
    rebase = value + 128;
    boxedValues == null && (boxedValues = initDim(_3Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$LongLibBase$LongEmul, 256, 0));
    result = boxedValues[rebase];
    !result && (result = boxedValues[rebase] = create_0(value));
    return result;
  }
  return create_0(value);
}

function gt(a, b){
  var signa, signb;
  signa = ~~a.h >> 19;
  signb = ~~b.h >> 19;
  return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l > b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l <= b.l);
}

function gte_0(a, b){
  var signa, signb;
  signa = ~~a.h >> 19;
  signb = ~~b.h >> 19;
  return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l);
}

function longFromBase64(value){
  var len, longVal, pos;
  pos = 0;
  longVal = fromInt(base64Value($charAt(value, pos++)));
  len = value.length;
  while (pos < len) {
    longVal = shl(longVal, 6);
    longVal = or(longVal, fromInt(base64Value($charAt(value, pos++))));
  }
  return longVal;
}

function lt(a, b){
  return !gte_0(a, b);
}

function lte(a, b){
  return !gt(a, b);
}

function mod(a, b){
  divMod(a, b, true);
  return remainder;
}

function mul(a, b){
  var a0, a1, a2, a3, a4, b0, b1, b2, b3, b4, c0, c00, c01, c1, c10, c11, c12, c13, c2, c22, c23, c24, p0, p1, p2, p3, p4;
  a0 = a.l & 8191;
  a1 = ~~a.l >> 13 | (a.m & 15) << 9;
  a2 = ~~a.m >> 4 & 8191;
  a3 = ~~a.m >> 17 | (a.h & 255) << 5;
  a4 = ~~(a.h & 1048320) >> 8;
  b0 = b.l & 8191;
  b1 = ~~b.l >> 13 | (b.m & 15) << 9;
  b2 = ~~b.m >> 4 & 8191;
  b3 = ~~b.m >> 17 | (b.h & 255) << 5;
  b4 = ~~(b.h & 1048320) >> 8;
  p0 = a0 * b0;
  p1 = a1 * b0;
  p2 = a2 * b0;
  p3 = a3 * b0;
  p4 = a4 * b0;
  if (b1 != 0) {
    p1 += a0 * b1;
    p2 += a1 * b1;
    p3 += a2 * b1;
    p4 += a3 * b1;
  }
  if (b2 != 0) {
    p2 += a0 * b2;
    p3 += a1 * b2;
    p4 += a2 * b2;
  }
  if (b3 != 0) {
    p3 += a0 * b3;
    p4 += a1 * b3;
  }
  b4 != 0 && (p4 += a0 * b4);
  c00 = p0 & 4194303;
  c01 = (p1 & 511) << 13;
  c0 = c00 + c01;
  c10 = ~~p0 >> 22;
  c11 = ~~p1 >> 9;
  c12 = (p2 & 262143) << 4;
  c13 = (p3 & 31) << 17;
  c1 = c10 + c11 + c12 + c13;
  c22 = ~~p2 >> 18;
  c23 = ~~p3 >> 5;
  c24 = (p4 & 4095) << 8;
  c2 = c22 + c23 + c24;
  c1 += ~~c0 >> 22;
  c0 &= 4194303;
  c2 += ~~c1 >> 22;
  c1 &= 4194303;
  c2 &= 1048575;
  return create0(c0, c1, c2);
}

function neg(a){
  var neg0, neg1, neg2;
  neg0 = ~a.l + 1 & 4194303;
  neg1 = ~a.m + (neg0 == 0?1:0) & 4194303;
  neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & 1048575;
  return create0(neg0, neg1, neg2);
}

function neq(a, b){
  return a.l != b.l || a.m != b.m || a.h != b.h;
}

function or(a, b){
  return create0(a.l | b.l, a.m | b.m, a.h | b.h);
}

function shl(a, n){
  var res0, res1, res2;
  n &= 63;
  if (n < 22) {
    res0 = a.l << n;
    res1 = a.m << n | ~~a.l >> 22 - n;
    res2 = a.h << n | ~~a.m >> 22 - n;
  }
   else if (n < 44) {
    res0 = 0;
    res1 = a.l << n - 22;
    res2 = a.m << n - 22 | ~~a.l >> 44 - n;
  }
   else {
    res0 = 0;
    res1 = 0;
    res2 = a.l << n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function shr(a, n){
  var a2, negative, res0, res1, res2;
  n &= 63;
  a2 = a.h;
  negative = (a2 & 524288) != 0;
  negative && (a2 |= -1048576);
  if (n < 22) {
    res2 = ~~a2 >> n;
    res1 = ~~a.m >> n | a2 << 22 - n;
    res0 = ~~a.l >> n | a.m << 22 - n;
  }
   else if (n < 44) {
    res2 = negative?1048575:0;
    res1 = ~~a2 >> n - 22;
    res0 = ~~a.m >> n - 22 | a2 << 44 - n;
  }
   else {
    res2 = negative?1048575:0;
    res1 = negative?4194303:0;
    res0 = ~~a2 >> n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function shru(a, n){
  var a2, res0, res1, res2;
  n &= 63;
  a2 = a.h & 1048575;
  if (n < 22) {
    res2 = ~~a2 >>> n;
    res1 = ~~a.m >> n | a2 << 22 - n;
    res0 = ~~a.l >> n | a.m << 22 - n;
  }
   else if (n < 44) {
    res2 = 0;
    res1 = ~~a2 >>> n - 22;
    res0 = ~~a.m >> n - 22 | a.h << 44 - n;
  }
   else {
    res2 = 0;
    res1 = 0;
    res0 = ~~a2 >>> n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function sub(a, b){
  var sum0, sum1, sum2;
  sum0 = a.l - b.l;
  sum1 = a.m - b.m + (~~sum0 >> 22);
  sum2 = a.h - b.h + (~~sum1 >> 22);
  return create0(sum0 & 4194303, sum1 & 4194303, sum2 & 1048575);
}

function toDouble(a){
  if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) {
    return -9223372036854775808;
  }
  if (!gte_0(a, ZERO)) {
    return -toDoubleHelper(neg(a));
  }
  return a.l + a.m * 4194304 + a.h * 17592186044416;
}

function toInt(a){
  return a.l | a.m << 22;
}

function toString_7(a){
  var digits, rem, res, tenPowerLong, zeroesNeeded;
  if (a.l == 0 && a.m == 0 && a.h == 0) {
    return '0';
  }
  if (a.h == 524288 && a.m == 0 && a.l == 0) {
    return '-9223372036854775808';
  }
  if (~~a.h >> 19 != 0) {
    return '-' + toString_7(neg(a));
  }
  rem = a;
  res = '';
  while (!(rem.l == 0 && rem.m == 0 && rem.h == 0)) {
    tenPowerLong = fromInt(1000000000);
    rem = divMod(rem, tenPowerLong, true);
    digits = '' + toInt(remainder);
    if (!(rem.l == 0 && rem.m == 0 && rem.h == 0)) {
      zeroesNeeded = 9 - digits.length;
      for (; zeroesNeeded > 0; --zeroesNeeded) {
        digits = '0' + digits;
      }
    }
    res = digits + res;
  }
  return res;
}

function xor(a, b){
  return create0(a.l ^ b.l, a.m ^ b.m, a.h ^ b.h);
}

var boxedValues = null;
function $clinit_LongLib$Const(){
  $clinit_LongLib$Const = nullMethod;
  MAX_VALUE = create0(4194303, 4194303, 524287);
  MIN_VALUE = create0(0, 0, 524288);
  ONE = fromInt(1);
  fromInt(2);
  ZERO = fromInt(0);
}

var MAX_VALUE, MIN_VALUE, ONE, ZERO;
function LongLibBase$LongEmul_0(){
}

function LongLibBase$LongEmul(){
}

_ = LongLibBase$LongEmul_0.prototype = LongLibBase$LongEmul.prototype = new Object_0;
_.getClass$ = function getClass_185(){
  return Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$LongLibBase$LongEmul]);
function onModuleStart(mainClassName){
  return $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date).getTime(), type:'onModuleLoadStart', className:mainClassName});
}

function $clinit_Layout$Alignment(){
  $clinit_Layout$Alignment = nullMethod;
  BEGIN = new Layout$Alignment_0('BEGIN', 0);
  END_0 = new Layout$Alignment_0('END', 1);
  STRETCH = new Layout$Alignment_0('STRETCH', 2);
  $VALUES_24 = initValues(_3Lcom_google_gwt_layout_client_Layout$Alignment_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Layout$Alignment, [BEGIN, END_0, STRETCH]);
}

function Layout$Alignment_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_25(){
  $clinit_Layout$Alignment();
  return $VALUES_24;
}

function Layout$Alignment(){
}

_ = Layout$Alignment_0.prototype = Layout$Alignment.prototype = new Enum;
_.getClass$ = function getClass_186(){
  return Lcom_google_gwt_layout_client_Layout$Alignment_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Layout$Alignment, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_24, BEGIN, END_0, STRETCH;
function deserialize_29(streamReader, instance){
}

function instantiate_29(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Layout$Alignment() , $clinit_Layout$Alignment() , $VALUES_24);
  return values[ordinal];
}

function $replace_0(this$static, input, replacement){
  return input.replace(this$static, replacement);
}

function $clinit_ImageResource$RepeatStyle(){
  $clinit_ImageResource$RepeatStyle = nullMethod;
  None = new ImageResource$RepeatStyle_0('None', 0);
  Horizontal = new ImageResource$RepeatStyle_0('Horizontal', 1);
  Vertical = new ImageResource$RepeatStyle_0('Vertical', 2);
  Both = new ImageResource$RepeatStyle_0('Both', 3);
  $VALUES_25 = initValues(_3Lcom_google_gwt_resources_client_ImageResource$RepeatStyle_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$ImageResource$RepeatStyle, [None, Horizontal, Vertical, Both]);
}

function ImageResource$RepeatStyle_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_26(){
  $clinit_ImageResource$RepeatStyle();
  return $VALUES_25;
}

function ImageResource$RepeatStyle(){
}

_ = ImageResource$RepeatStyle_0.prototype = ImageResource$RepeatStyle.prototype = new Enum;
_.getClass$ = function getClass_187(){
  return Lcom_google_gwt_resources_client_ImageResource$RepeatStyle_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ImageResource$RepeatStyle, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_25, Both, Horizontal, None, Vertical;
--></script>
<script><!--
function deserialize_30(streamReader, instance){
}

function instantiate_30(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_ImageResource$RepeatStyle() , $clinit_ImageResource$RepeatStyle() , $VALUES_25);
  return values[ordinal];
}

function ImageResourcePrototype_0(url){
  this.left_0 = 0;
  this.top_0 = 0;
  this.height = 11;
  this.width = 43;
  this.url = url;
}

function ImageResourcePrototype(){
}

_ = ImageResourcePrototype_0.prototype = ImageResourcePrototype.prototype = new Object_0;
_.getClass$ = function getClass_188(){
  return Lcom_google_gwt_resources_client_impl_ImageResourcePrototype_2_classLit;
}
;
_.height = 0;
_.left_0 = 0;
_.top_0 = 0;
_.url = null;
_.width = 0;
function SafeStylesString_0(css){
  verifySafeStylesConstraints(css);
  this.css = css;
}

function SafeStylesString_1(){
}

function SafeStylesString(){
}

_ = SafeStylesString_1.prototype = SafeStylesString_0.prototype = SafeStylesString.prototype = new Object_0;
_.equals$ = function equals_2(obj){
  if (!instanceOf(obj, Q$SafeStyles)) {
    return false;
  }
  return $equals_1(this.css, dynamicCast(dynamicCast(obj, Q$SafeStyles), Q$SafeStylesString).css);
}
;
_.getClass$ = function getClass_189(){
  return Lcom_google_gwt_safecss_shared_SafeStylesString_2_classLit;
}
;
_.hashCode$ = function hashCode_4(){
  return getHashCode_0(this.css);
}
;
_.castableTypeMap$ = makeCastMap([Q$SafeStyles, Q$SafeStylesString, Q$Serializable]);
_.css = null;
function deserialize_31(streamReader, instance){
  setCss(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_31(streamReader){
  return new SafeStylesString_1;
}

function setCss(instance, value){
  instance.css = value;
}

function verifySafeStylesConstraints(styles){
  if (styles == null) {
    throw new NullPointerException_1('css is null');
  }
}

function OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(html){
  if (html == null) {
    throw new NullPointerException_1('html is null');
  }
  this.html = html;
}

function OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml(){
}

_ = OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0.prototype = OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml.prototype = new Object_0;
_.asString = function asString_0(){
  return this.html;
}
;
_.equals$ = function equals_3(obj){
  if (!instanceOf(obj, Q$SafeHtml)) {
    return false;
  }
  return $equals_1(this.html, dynamicCast(obj, Q$SafeHtml).asString());
}
;
_.getClass$ = function getClass_190(){
  return Lcom_google_gwt_safehtml_shared_OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_2_classLit;
}
;
_.hashCode$ = function hashCode_5(){
  return getHashCode_0(this.html);
}
;
_.castableTypeMap$ = makeCastMap([Q$SafeHtml, Q$Serializable]);
_.html = null;
function $append_2(this$static, html){
  $append_9(this$static.sb, html.html);
  return this$static;
}

function SafeHtmlBuilder_0(){
  this.sb = new StringBuilder_0;
}

function SafeHtmlBuilder(){
}

_ = SafeHtmlBuilder_0.prototype = SafeHtmlBuilder.prototype = new Object_0;
_.getClass$ = function getClass_191(){
  return Lcom_google_gwt_safehtml_shared_SafeHtmlBuilder_2_classLit;
}
;
function $equals(this$static, obj){
  if (!instanceOf(obj, Q$SafeHtml)) {
    return false;
  }
  return $equals_1(this$static.html, dynamicCast(obj, Q$SafeHtml).asString());
}

function SafeHtmlString_0(html){
  if (html == null) {
    throw new NullPointerException_1('html is null');
  }
  this.html = html;
}

function SafeHtmlString_1(){
}

function SafeHtmlString(){
}

_ = SafeHtmlString_1.prototype = SafeHtmlString_0.prototype = SafeHtmlString.prototype = new Object_0;
_.asString = function asString_1(){
  return this.html;
}
;
_.equals$ = function equals_4(obj){
  return $equals(this, obj);
}
;
_.getClass$ = function getClass_192(){
  return Lcom_google_gwt_safehtml_shared_SafeHtmlString_2_classLit;
}
;
_.hashCode$ = function hashCode_6(){
  return getHashCode_0(this.html);
}
;
_.castableTypeMap$ = makeCastMap([Q$SafeHtml, Q$Serializable]);
_.html = null;
function deserialize_32(streamReader, instance){
  setHtml(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_32(streamReader){
  return new SafeHtmlString_1;
}

function setHtml(instance, value){
  instance.html = value;
}

function $clinit_SafeHtmlUtils(){
  $clinit_SafeHtmlUtils = nullMethod;
  EMPTY_SAFE_HTML = new SafeHtmlString_0('');
  AMP_RE = new RegExp('&', 'g');
  GT_RE = new RegExp('>', 'g');
  LT_RE = new RegExp('<', 'g');
  SQUOT_RE = new RegExp("'", 'g');
  QUOT_RE = new RegExp('"', 'g');
}

function htmlEscape(s){
  $clinit_SafeHtmlUtils();
  s.indexOf('&') != -1 && (s = $replace_0(AMP_RE, s, '&amp;'));
  s.indexOf('<') != -1 && (s = $replace_0(LT_RE, s, '&lt;'));
  s.indexOf('>') != -1 && (s = $replace_0(GT_RE, s, '&gt;'));
  s.indexOf('"') != -1 && (s = $replace_0(QUOT_RE, s, '&quot;'));
  s.indexOf("'") != -1 && (s = $replace_0(SQUOT_RE, s, '&#39;'));
  return s;
}

var AMP_RE, EMPTY_SAFE_HTML, GT_RE, LT_RE, QUOT_RE, SQUOT_RE;
function SafeUriString_0(uri){
  if (uri == null) {
    throw new NullPointerException_1('uri is null');
  }
  this.uri = uri;
}

function SafeUriString(){
}

_ = SafeUriString_0.prototype = SafeUriString.prototype = new Object_0;
_.equals$ = function equals_5(obj){
  if (!instanceOf(obj, Q$SafeUri)) {
    return false;
  }
  return $equals_1(this.uri, dynamicCast(dynamicCast(obj, Q$SafeUri), Q$SafeUriString).uri);
}
;
_.getClass$ = function getClass_193(){
  return Lcom_google_gwt_safehtml_shared_SafeUriString_2_classLit;
}
;
_.hashCode$ = function hashCode_7(){
  return getHashCode_0(this.uri);
}
;
_.castableTypeMap$ = makeCastMap([Q$SafeUri, Q$SafeUriString]);
_.uri = null;
function $clinit_UriUtils(){
  $clinit_UriUtils = nullMethod;
  new RegExp('%5B', 'g');
  new RegExp('%5D', 'g');
}

function AbstractRenderer(){
}

_ = AbstractRenderer.prototype = new Object_0;
_.getClass$ = function getClass_194(){
  return Lcom_google_gwt_text_shared_AbstractRenderer_2_classLit;
}
;
function SimpleSafeHtmlRenderer_0(){
}

function SimpleSafeHtmlRenderer(){
}

_ = SimpleSafeHtmlRenderer_0.prototype = SimpleSafeHtmlRenderer.prototype = new Object_0;
_.getClass$ = function getClass_195(){
  return Lcom_google_gwt_text_shared_SimpleSafeHtmlRenderer_2_classLit;
}
;
var instance_0 = null;
function PassthroughParser_0(){
}

function PassthroughParser(){
}

_ = PassthroughParser_0.prototype = PassthroughParser.prototype = new Object_0;
_.getClass$ = function getClass_196(){
  return Lcom_google_gwt_text_shared_testing_PassthroughParser_2_classLit;
}
;
var INSTANCE_1 = null;
function PassthroughRenderer_0(){
}

function PassthroughRenderer(){
}

_ = PassthroughRenderer_0.prototype = PassthroughRenderer.prototype = new AbstractRenderer;
_.getClass$ = function getClass_197(){
  return Lcom_google_gwt_text_shared_testing_PassthroughRenderer_2_classLit;
}
;
var INSTANCE_2 = null;
function $calcNewVelocity(initialVelocity, decelFactor, oldVelocity, minDecel){
  var maxVelocityX, minVelocityX, newVelocity;
  newVelocity = initialVelocity * decelFactor;
  if (oldVelocity >= 0) {
    maxVelocityX = 0 > oldVelocity - minDecel?0:oldVelocity - minDecel;
    newVelocity = newVelocity < maxVelocityX?newVelocity:maxVelocityX;
  }
   else {
    minVelocityX = 0 < oldVelocity + minDecel?0:oldVelocity + minDecel;
    newVelocity = newVelocity > minVelocityX?newVelocity:minVelocityX;
  }
  return newVelocity;
}

function $updateState(state){
  var decelFactor, dist, elapsedMillis, ellapsedMillis, initialVelocity, minDecel, newVelocity, newVelocityX, newVelocityY, oldVelocity, position, totalEllapsedMillis;
  ellapsedMillis = state.elapsedMillis;
  totalEllapsedMillis = state.cumulativeElapsedMillis;
  initialVelocity = state.initialVelocity;
  oldVelocity = state.velocity;
  decelFactor = Math.pow(0.9993, totalEllapsedMillis);
  minDecel = ellapsedMillis * 5.0E-4;
  newVelocityX = $calcNewVelocity(initialVelocity.x, decelFactor, oldVelocity.x, minDecel);
  newVelocityY = $calcNewVelocity(initialVelocity.y, decelFactor, oldVelocity.y, minDecel);
  newVelocity = new Point_0(newVelocityX, newVelocityY);
  state.velocity = newVelocity;
  elapsedMillis = state.elapsedMillis;
  dist = $mult(newVelocity, new Point_0(elapsedMillis, elapsedMillis));
  position = state.position_0;
  $setPosition(state, new Point_0(position.x + dist.x, position.y + dist.y));
  if (abs(newVelocity.x) < 0.02 && abs(newVelocity.y) < 0.02) {
    return false;
  }
  return true;
}

function DefaultMomentum_0(){
}

function DefaultMomentum(){
}

_ = DefaultMomentum_0.prototype = DefaultMomentum.prototype = new Object_0;
_.getClass$ = function getClass_198(){
  return Lcom_google_gwt_touch_client_DefaultMomentum_2_classLit;
}
;
function $setCumulativeElapsedMillis(this$static, cumulativeElapsedMillis){
  this$static.cumulativeElapsedMillis = cumulativeElapsedMillis;
}

function $setElapsedMillis(this$static, elapsedMillis){
  this$static.elapsedMillis = elapsedMillis;
}

function $setPosition(this$static, position){
  this$static.position_0 = position;
}

function Momentum$State_0(initialPosition, initialVelocity){
  this.initialVelocity = initialVelocity;
  this.position_0 = new Point_1(initialPosition);
  this.velocity = new Point_1(initialVelocity);
}

function Momentum$State(){
}

_ = Momentum$State_0.prototype = Momentum$State.prototype = new Object_0;
_.getClass$ = function getClass_199(){
  return Lcom_google_gwt_touch_client_Momentum$State_2_classLit;
}
;
_.cumulativeElapsedMillis = 0;
_.elapsedMillis = 0;
_.initialVelocity = null;
_.position_0 = null;
_.velocity = null;
function $minus(this$static, c){
  return new Point_0(this$static.x - c.x, this$static.y - c.y);
}

function $mult(this$static, c){
  return new Point_0(this$static.x * c.x, this$static.y * c.y);
}

function $plus(this$static, c){
  return new Point_0(this$static.x + c.x, this$static.y + c.y);
}

function Point_0(x, y){
  this.x = x;
  this.y = y;
}

function Point_1(c){
  Point_0.call(this, c.x, c.y);
}

function Point(){
}

_ = Point_1.prototype = Point_0.prototype = Point.prototype = new Object_0;
_.equals$ = function equals_6(obj){
  var c;
  if (!instanceOf(obj, Q$Point)) {
    return false;
  }
  c = dynamicCast(obj, Q$Point);
  return this.x == c.x && this.y == c.y;
}
;
_.getClass$ = function getClass_200(){
  return Lcom_google_gwt_touch_client_Point_2_classLit;
}
;
_.hashCode$ = function hashCode_8(){
  return round_int(this.x) ^ round_int(this.y);
}
;
_.toString$ = function toString_8(){
  return 'Point(' + this.x + ',' + this.y + ')';
}
;
_.castableTypeMap$ = makeCastMap([Q$Point]);
_.x = 0;
_.y = 0;
function $calculateEndVelocity(from, to){
  var dist, time;
  time = to.time - from.time;
  if (time <= 0) {
    return null;
  }
  dist = $minus(from.point, to.point);
  return new Point_0(dist.x / time, dist.y / time);
}

function $cancelAll(this$static){
  this$static.touching = false;
  this$static.dragging = false;
  this$static.momentumCommand = null;
}

function $getTouchFromEvent(event_0){
  var touches;
  touches = event_0.nativeEvent.touches;
  return touches.length > 0?touches[0]:null;
}

function $getWidgetScrollPosition(this$static){
  return new Point_0($getScrollLeft(this$static.widget.scrollableElem), this$static.widget.scrollableElem.scrollTop || 0);
}

function $hitTest(point1, point2){
  var absDiffX, absDiffY, diff;
  diff = new Point_0(point1.x - point2.x, point1.y - point2.y);
  absDiffX = abs(diff.x);
  absDiffY = abs(diff.y);
  return absDiffX <= 25 && absDiffY <= 25;
}

function $isClickScrollTriggeringTouch(this$static, clickPoint){
  if (this$static.recentScrollTriggeringTouchPosition.point) {
    return $hitTest(clickPoint, this$static.recentScrollTriggeringTouchPosition.point);
  }
  return false;
}

function $isClickTouchPositionDuringMomentum(this$static, clickPoint){
  var currentTime, point, point$iterator, same;
  currentTime = currentTimeMillis();
  same = false;
  for (point$iterator = new AbstractList$IteratorImpl_0(this$static.touchPositionsDuringMomentum); point$iterator.i < point$iterator.this$0_0.size_0();) {
    point = dynamicCast($next_1(point$iterator), Q$TouchScroller$TemporalPoint);
    if (currentTime - point.time <= 2500 && $hitTest(clickPoint, point.point)) {
      same = true;
      break;
    }
  }
  return same;
}

function $onDragEnd(this$static){
  var endVelocity;
  if (!this$static.momentum) {
    return;
  }
  endVelocity = $calculateEndVelocity(this$static.recentTouchPosition, this$static.lastTouchPosition);
  if (endVelocity) {
    this$static.momentumCommand = new TouchScroller$MomentumCommand_0(this$static, endVelocity);
    scheduleFixedDelayImpl(($clinit_SchedulerImpl() , this$static.momentumCommand), 16);
  }
}

function $onTouchEnd(this$static){
  if (!this$static.touching) {
    return;
  }
  this$static.touching = false;
  if (this$static.dragging) {
    this$static.dragging = false;
    $onDragEnd(this$static);
  }
}

function $onTouchMove(this$static, event_0){
  var absDiffX, absDiffY, diff, hMax, hMin, hPosition, touch, touchPoint, touchTime, trackingTime, vMax, vPosition, curScrollPosition, diff_0;
  if (!this$static.touching) {
    return;
  }
  touch = $getTouchFromEvent(event_0);
  touchPoint = new Point_0(touch.pageX, touch.pageY);
  touchTime = currentTimeMillis();
  $setTemporalPoint(this$static.lastTouchPosition, touchPoint, touchTime);
  if (!this$static.dragging) {
    diff = $minus(touchPoint, this$static.startTouchPosition);
    absDiffX = abs(diff.x);
    absDiffY = abs(diff.y);
    if (absDiffX > 5 || absDiffY > 5) {
      $setTemporalPoint(this$static.recentScrollTriggeringTouchPosition, this$static.recentTouchPosition.point, this$static.recentTouchPosition.time);
      if (absDiffX > absDiffY) {
        hPosition = $getScrollLeft(this$static.widget.scrollableElem);
        hMin = $getMinimumHorizontalScrollPosition_0(this$static.widget);
        hMax = $getMaximumHorizontalScrollPosition_0(this$static.widget);
        if (diff.x < 0 && hMax <= hPosition) {
          $cancelAll(this$static);
          return;
        }
         else if (diff.x > 0 && hMin >= hPosition) {
          $cancelAll(this$static);
          return;
        }
      }
       else {
        vPosition = this$static.widget.scrollableElem.scrollTop || 0;
        vMax = $getMaximumVerticalScrollPosition(this$static.widget);
        if (diff.y < 0 && vMax <= vPosition) {
          $cancelAll(this$static);
          return;
        }
         else if (diff.y > 0 && 0 >= vPosition) {
          $cancelAll(this$static);
          return;
        }
      }
      this$static.dragging = true;
    }
  }
  event_0.nativeEvent.preventDefault();
  if (this$static.dragging) {
    diff_0 = $minus(this$static.startTouchPosition, this$static.lastTouchPosition.point);
    curScrollPosition = $plus(this$static.startScrollPosition, diff_0);
    $setHorizontalScrollPosition(this$static.widget, round_int(curScrollPosition.x));
    $setVerticalScrollPosition(this$static.widget, round_int(curScrollPosition.y));
    trackingTime = touchTime - this$static.recentTouchPosition.time;
    if (trackingTime > 200 && !!this$static.recentTouchPositionOnDeck) {
      $setTemporalPoint(this$static.recentTouchPosition, this$static.recentTouchPositionOnDeck.point, this$static.recentTouchPositionOnDeck.time);
      this$static.recentTouchPositionOnDeck = null;
    }
     else 
      trackingTime > 100 && !this$static.recentTouchPositionOnDeck && (this$static.recentTouchPositionOnDeck = new TouchScroller$TemporalPoint_1(touchPoint, touchTime));
  }
}

function $onTouchStart(this$static, event_0){
  var startTouchTime, touch;
  $setTemporalPoint(this$static.recentScrollTriggeringTouchPosition, null, 0);
  if (this$static.touching) {
    return;
  }
  touch = $getTouchFromEvent(event_0);
  this$static.startTouchPosition = new Point_0(touch.pageX, touch.pageY);
  startTouchTime = currentTimeMillis();
  $setTemporalPoint(this$static.recentTouchPosition, this$static.startTouchPosition, startTouchTime);
  $setTemporalPoint(this$static.lastTouchPosition, this$static.startTouchPosition, startTouchTime);
  this$static.recentTouchPositionOnDeck = null;
  if (this$static.momentumCommand) {
    $add_1(this$static.touchPositionsDuringMomentum, new TouchScroller$TemporalPoint_1(this$static.startTouchPosition, startTouchTime));
    scheduleFixedDelayImpl(($clinit_SchedulerImpl() , this$static.momentumTouchRemovalCommand), 2500);
  }
  this$static.startScrollPosition = new Point_0($getScrollLeft(this$static.widget.scrollableElem), this$static.widget.scrollableElem.scrollTop || 0);
  $cancelAll(this$static);
  this$static.touching = true;
}

function $removeAttachHandler(this$static){
  if (this$static.attachHandlerReg) {
    $removeHandler(this$static.attachHandlerReg.real);
    this$static.attachHandlerReg = null;
  }
}

function $removeBustClickHandler(this$static){
  if (this$static.bustClickHandlerReg) {
    $removeHandler(this$static.bustClickHandlerReg.real);
    this$static.bustClickHandlerReg = null;
  }
}

function $setMomentum(this$static, momentum){
  this$static.momentum = momentum;
  !momentum && (this$static.momentumCommand = null);
}

function $setTargetWidget(this$static, widget){
  var reg, reg$iterator;
  if (this$static.widget == widget) {
    return;
  }
  $cancelAll(this$static);
  for (reg$iterator = new AbstractList$IteratorImpl_0(this$static.handlerRegs); reg$iterator.i < reg$iterator.this$0_0.size_0();) {
    reg = dynamicCast($next_1(reg$iterator), Q$HandlerRegistration);
    $removeHandler(reg.real);
  }
  $clear(this$static.handlerRegs);
  $removeAttachHandler(this$static);
  $removeBustClickHandler(this$static);
  this$static.widget = widget;
  if (widget) {
    widget.attached && ($removeBustClickHandler(this$static) , this$static.bustClickHandlerReg = addNativePreviewHandler(new TouchScroller$6_0(this$static)));
    this$static.attachHandlerReg = $addHandler_0(widget, new TouchScroller$1_0(this$static), (!TYPE_10 && (TYPE_10 = new GwtEvent$Type_0) , TYPE_10));
    $add_1(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$2_0(this$static), ($clinit_TouchStartEvent() , $clinit_TouchStartEvent() , TYPE_9)));
    $add_1(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$3_0(this$static), ($clinit_TouchMoveEvent() , $clinit_TouchMoveEvent() , TYPE_8)));
    $add_1(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$4_0(this$static), ($clinit_TouchEndEvent() , $clinit_TouchEndEvent() , TYPE_7)));
    $add_1(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$5_0(this$static), ($clinit_TouchCancelEvent() , $clinit_TouchCancelEvent() , TYPE_6)));
  }
}

function $setWidgetScrollPosition(this$static, position){
  $setHorizontalScrollPosition(this$static.widget, round_int(position.x));
  $setVerticalScrollPosition(this$static.widget, round_int(position.y));
}

function $setupBustClickHandler(this$static){
  $removeBustClickHandler(this$static);
  this$static.bustClickHandlerReg = addNativePreviewHandler(new TouchScroller$6_0(this$static));
}

function TouchScroller_0(){
  this.handlerRegs = new ArrayList_0;
  this.lastTouchPosition = new TouchScroller$TemporalPoint_0;
  this.recentTouchPosition = new TouchScroller$TemporalPoint_0;
  this.recentScrollTriggeringTouchPosition = new TouchScroller$TemporalPoint_0;
  this.touchPositionsDuringMomentum = new ArrayList_0;
  this.momentumTouchRemovalCommand = new TouchScroller$MomentumTouchRemovalCommand_0(this);
  $setMomentum(this, new DefaultMomentum_0);
}

function TouchScroller(){
}

_ = TouchScroller_0.prototype = TouchScroller.prototype = new Object_0;
_.getClass$ = function getClass_201(){
  return Lcom_google_gwt_touch_client_TouchScroller_2_classLit;
}
;
_.attachHandlerReg = null;
_.bustClickHandlerReg = null;
_.dragging = false;
_.momentum = null;
_.momentumCommand = null;
_.recentTouchPositionOnDeck = null;
_.startScrollPosition = null;
_.startTouchPosition = null;
_.touching = false;
_.widget = null;
var isSupported = null;
function TouchScroller$1_0(this$0){
  this.this$0 = this$0;
}

function TouchScroller$1(){
}

_ = TouchScroller$1_0.prototype = TouchScroller$1.prototype = new Object_0;
_.getClass$ = function getClass_202(){
  return Lcom_google_gwt_touch_client_TouchScroller$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$AttachEvent$Handler, Q$EventHandler]);
_.this$0 = null;
function TouchScroller$2_0(this$0){
  this.this$0 = this$0;
}

function TouchScroller$2(){
}

_ = TouchScroller$2_0.prototype = TouchScroller$2.prototype = new Object_0;
_.getClass$ = function getClass_203(){
  return Lcom_google_gwt_touch_client_TouchScroller$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$TouchStartHandler, Q$EventHandler]);
_.this$0 = null;
function TouchScroller$3_0(this$0){
  this.this$0 = this$0;
}

function TouchScroller$3(){
}

_ = TouchScroller$3_0.prototype = TouchScroller$3.prototype = new Object_0;
_.getClass$ = function getClass_204(){
  return Lcom_google_gwt_touch_client_TouchScroller$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$TouchMoveHandler, Q$EventHandler]);
_.this$0 = null;
function TouchScroller$4_0(this$0){
  this.this$0 = this$0;
}

function TouchScroller$4(){
}

_ = TouchScroller$4_0.prototype = TouchScroller$4.prototype = new Object_0;
_.getClass$ = function getClass_205(){
  return Lcom_google_gwt_touch_client_TouchScroller$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$TouchEndHandler, Q$EventHandler, Q$TouchScroller$4]);
_.this$0 = null;
function TouchScroller$5_0(this$0){
  this.this$0 = this$0;
}

function TouchScroller$5(){
}

_ = TouchScroller$5_0.prototype = TouchScroller$5.prototype = new Object_0;
_.getClass$ = function getClass_206(){
  return Lcom_google_gwt_touch_client_TouchScroller$5_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$TouchCancelHandler, Q$EventHandler, Q$TouchScroller$5]);
_.this$0 = null;
function TouchScroller$6_0(this$0){
  this.this$0 = this$0;
}

function TouchScroller$6(){
}

_ = TouchScroller$6_0.prototype = TouchScroller$6.prototype = new Object_0;
_.getClass$ = function getClass_207(){
  return Lcom_google_gwt_touch_client_TouchScroller$6_2_classLit;
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent(event_0){
  var clickPoint;
  if (1 == $eventGetTypeInt(event_0.nativeEvent.type)) {
    clickPoint = new Point_0(event_0.nativeEvent.clientX || 0, event_0.nativeEvent.clientY || 0);
    if ($isClickScrollTriggeringTouch(this.this$0, clickPoint) || $isClickTouchPositionDuringMomentum(this.this$0, clickPoint)) {
      event_0.isCanceled = true;
      event_0.nativeEvent.stopPropagation();
      event_0.nativeEvent.preventDefault();
    }
  }
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler, Q$Event$NativePreviewHandler]);
_.this$0 = null;
function $finish(this$static){
  if (this$static.windowResizeHandler) {
    $removeHandler(this$static.windowResizeHandler.real);
    this$static.windowResizeHandler = null;
  }
  this$static == this$static.this$0.momentumCommand && (this$static.this$0.momentumCommand = null);
}

function TouchScroller$MomentumCommand_0(this$0, endVelocity){
  this.this$0 = this$0;
  this.duration = new Duration_0;
  this.initialPosition = $getWidgetScrollPosition(this.this$0);
  this.state = new Momentum$State_0(this.initialPosition, endVelocity);
  this.windowResizeHandler = addResizeHandler(new TouchScroller$MomentumCommand$1_0(this));
}

function TouchScroller$MomentumCommand(){
}

_ = TouchScroller$MomentumCommand_0.prototype = TouchScroller$MomentumCommand.prototype = new Object_0;
_.execute_0 = function execute_4(){
  var cumulativeElapsedMillis, hMax, hMin, hPos, notDone, vMax, vPos;
  if (this != this.this$0.momentumCommand) {
    $finish(this);
    return false;
  }
  cumulativeElapsedMillis = $elapsedMillis(this.duration);
  $setElapsedMillis(this.state, cumulativeElapsedMillis - this.lastElapsedMillis);
  this.lastElapsedMillis = cumulativeElapsedMillis;
  $setCumulativeElapsedMillis(this.state, cumulativeElapsedMillis);
  notDone = $updateState(this.state);
  notDone || $finish(this);
  $setWidgetScrollPosition(this.this$0, this.state.position_0);
  hPos = round_int(this.state.position_0.x);
  hMin = $getMinimumHorizontalScrollPosition_0(this.this$0.widget);
  hMax = $getMaximumHorizontalScrollPosition_0(this.this$0.widget);
  vMax = $getMaximumVerticalScrollPosition(this.this$0.widget);
  vPos = round_int(this.state.position_0.y);
  if ((vMax <= vPos || 0 >= vPos) && (hMax <= hPos || hMin >= hPos)) {
    $finish(this);
    return false;
  }
  return notDone;
}
;
_.getClass$ = function getClass_208(){
  return Lcom_google_gwt_touch_client_TouchScroller$MomentumCommand_2_classLit;
}
;
_.lastElapsedMillis = 0;
_.state = null;
_.this$0 = null;
_.windowResizeHandler = null;
function TouchScroller$MomentumCommand$1_0(this$1){
  this.this$1 = this$1;
}

function TouchScroller$MomentumCommand$1(){
}

_ = TouchScroller$MomentumCommand$1_0.prototype = TouchScroller$MomentumCommand$1.prototype = new Object_0;
_.getClass$ = function getClass_209(){
  return Lcom_google_gwt_touch_client_TouchScroller$MomentumCommand$1_2_classLit;
}
;
_.onResize = function onResize(event_0){
  $finish(this.this$1);
}
;
_.castableTypeMap$ = makeCastMap([Q$ResizeHandler, Q$EventHandler]);
_.this$1 = null;
function TouchScroller$MomentumTouchRemovalCommand_0(this$0){
  this.this$0 = this$0;
}

function TouchScroller$MomentumTouchRemovalCommand(){
}

_ = TouchScroller$MomentumTouchRemovalCommand_0.prototype = TouchScroller$MomentumTouchRemovalCommand.prototype = new Object_0;
_.execute_0 = function execute_5(){
  var currentTime, iter, point;
  currentTime = currentTimeMillis();
  iter = new AbstractList$IteratorImpl_0(this.this$0.touchPositionsDuringMomentum);
  while (iter.i < iter.this$0_0.size_0()) {
    point = dynamicCast($next_1(iter), Q$TouchScroller$TemporalPoint);
    currentTime - point.time >= 2500 && $remove_8(iter);
  }
  return this.this$0.touchPositionsDuringMomentum.size != 0;
}
;
_.getClass$ = function getClass_210(){
  return Lcom_google_gwt_touch_client_TouchScroller$MomentumTouchRemovalCommand_2_classLit;
}
;
_.this$0 = null;
function $setTemporalPoint(this$static, point, time){
  this$static.point = point;
  this$static.time = time;
}

function TouchScroller$TemporalPoint_0(){
}

function TouchScroller$TemporalPoint_1(point, time){
  this.point = point;
  this.time = time;
}

function TouchScroller$TemporalPoint(){
}

_ = TouchScroller$TemporalPoint_1.prototype = TouchScroller$TemporalPoint_0.prototype = TouchScroller$TemporalPoint.prototype = new Object_0;
_.getClass$ = function getClass_211(){
  return Lcom_google_gwt_touch_client_TouchScroller$TemporalPoint_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$TouchScroller$TemporalPoint]);
_.point = null;
_.time = 0;
function $replaceNode(node, newNode){
  var p = node.parentNode;
  if (!p) {
    return;
  }
  p.insertBefore(newNode, node);
  p.removeChild(node);
}

function $setElement(this$static, elem){
  this$static.element = elem;
}

function $setStyleName(this$static, style){
  this$static.getStyleElement()['className'] = style;
}

function $sinkBitlessEvent(this$static, eventTypeName){
  sinkBitlessEvent(this$static.element, eventTypeName);
}

function setStyleName(elem, style, add){
  if (!elem) {
    throw new RuntimeException_1('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw new IllegalArgumentException_1('Style names cannot be empty');
  }
  add?$addClassName(elem, style):$removeClassName(elem, style);
}

function setStylePrimaryName(elem, style){
  if (!elem) {
    throw new RuntimeException_1('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw new IllegalArgumentException_1('Style names cannot be empty');
  }
  updatePrimaryAndDependentStyleNames(elem, style);
}

function setVisible(elem, visible){
  elem.style.display = visible?'':'none';
}

function updatePrimaryAndDependentStyleNames(elem, newPrimaryStyle){
  var classes = elem.className.split(/\s+/);
  if (!classes) {
    return;
  }
  var oldPrimaryStyle = classes[0];
  var oldPrimaryStyleLen = oldPrimaryStyle.length;
  classes[0] = newPrimaryStyle;
  for (var i = 1, n = classes.length; i < n; i++) {
    var name_0 = classes[i];
    name_0.length > oldPrimaryStyleLen && name_0.charAt(oldPrimaryStyleLen) == '-' && name_0.indexOf(oldPrimaryStyle) == 0 && (classes[i] = newPrimaryStyle + name_0.substring(oldPrimaryStyleLen));
  }
  elem.className = classes.join(' ');
}

function UIObject(){
}

_ = UIObject.prototype = new Object_0;
_.getClass$ = function getClass_212(){
  return Lcom_google_gwt_user_client_ui_UIObject_2_classLit;
}
;
_.getOffsetHeight = function getOffsetHeight(){
  return $getPropertyInt(this.element, 'offsetHeight');
}
;
_.getStyleElement = function getStyleElement(){
  return this.element;
}
;
_.resolvePotentialElement = function resolvePotentialElement(){
  throw new UnsupportedOperationException_0;
}
;
_.setHeight = function setHeight(height){
  setStyleAttribute(this.element, 'height', height);
}
;
_.setSize = function setSize(width, height){
  this.setWidth(width);
  this.setHeight(height);
}
;
_.setVisible = function setVisible_0(visible){
  setVisible(this.element, visible);
}
;
_.setWidth = function setWidth(width){
  setStyleAttribute(this.element, 'width', width);
}
;
_.toString$ = function toString_9(){
  if (!this.element) {
    return '(null handle)';
  }
  return this.element.outerHTML;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasVisibility, Q$UIObject]);
_.element = null;
--></script>
<script><!--
function $addDomHandler(this$static, handler, type){
  var typeInt;
  typeInt = $eventGetTypeInt(type.name_0);
  typeInt == -1?$sinkBitlessEvent(this$static, type.name_0):this$static.eventsToSink == -1?sinkEvents(this$static.element, typeInt | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= typeInt);
  return $addHandler(!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager, type, handler);
}

function $addHandler_0(this$static, handler, type){
  return $addHandler(!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager, type, handler);
}

function $fireEvent_0(this$static, event_0){
  !!this$static.handlerManager && $fireEvent(this$static.handlerManager, event_0);
}

function $onAttach(this$static){
  var bitsToAdd;
  if (this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  $setEventListener(this$static.element, this$static);
  bitsToAdd = this$static.eventsToSink;
  this$static.eventsToSink = -1;
  bitsToAdd > 0 && (this$static.eventsToSink == -1?sinkEvents(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd));
  this$static.doAttachChildren();
  this$static.onLoad();
  fire_0(this$static, true);
}

function $onBrowserEvent_0(this$static, event_0){
  var related;
  switch ($eventGetTypeInt(event_0.type)) {
    case 16:
    case 32:
      related = event_0.relatedTarget;
      if (!!related && $isOrHasChild(this$static.element, related)) {
        return;
      }

  }
  fireNativeEvent(event_0, this$static, this$static.element);
}

function $onDetach(this$static){
  if (!this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this$static.onUnload();
    fire_0(this$static, false);
  }
   finally {
    try {
      this$static.doDetachChildren();
    }
     finally {
      this$static.element.__listener = null;
      this$static.attached = false;
    }
  }
}

function $removeFromParent(this$static){
  if (!this$static.parent_0) {
    ($clinit_RootPanel() , $contains(widgetsToDetach, this$static)) && detachNow(this$static);
  }
   else if (instanceOf(this$static.parent_0, Q$HasWidgets)) {
    dynamicCast(this$static.parent_0, Q$HasWidgets).remove(this$static);
  }
   else if (this$static.parent_0) {
    throw new IllegalStateException_1("This widget's parent does not implement HasWidgets");
  }
}

function $replaceElement(this$static, elem){
  this$static.attached && (this$static.element.__listener = null , undefined);
  !!this$static.element && $replaceNode(this$static.element, elem);
  this$static.element = elem;
  this$static.attached && $setEventListener(this$static.element, this$static);
}

function $setParent(this$static, parent_0){
  var oldParent;
  oldParent = this$static.parent_0;
  if (!parent_0) {
    try {
      !!oldParent && oldParent.isAttached() && this$static.onDetach();
    }
     finally {
      this$static.parent_0 = null;
    }
  }
   else {
    if (oldParent) {
      throw new IllegalStateException_1('Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent_0 = parent_0;
    parent_0.isAttached() && this$static.onAttach();
  }
}

function $sinkEvents(this$static, eventBitsToAdd){
  this$static.eventsToSink == -1?sinkEvents(this$static.element, eventBitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= eventBitsToAdd);
}

function Widget(){
}

_ = Widget.prototype = new UIObject;
_.doAttachChildren = function doAttachChildren(){
}
;
_.doDetachChildren = function doDetachChildren(){
}
;
_.fireEvent = function fireEvent_0(event_0){
  $fireEvent_0(this, event_0);
}
;
_.getClass$ = function getClass_213(){
  return Lcom_google_gwt_user_client_ui_Widget_2_classLit;
}
;
_.isAttached = function isAttached(){
  return this.attached;
}
;
_.onAttach = function onAttach(){
  $onAttach(this);
}
;
_.onBrowserEvent = function onBrowserEvent(event_0){
  $onBrowserEvent_0(this, event_0);
}
;
_.onDetach = function onDetach(){
  $onDetach(this);
}
;
_.onLoad = function onLoad(){
}
;
_.onUnload = function onUnload(){
}
;
_.setParent = function setParent(parent_0){
  $setParent(this, parent_0);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
_.attached = false;
_.eventsToSink = 0;
_.handlerManager = null;
_.parent_0 = null;
function $initWidget(this$static, widget){
  var elem;
  if (this$static.widget) {
    throw new IllegalStateException_1('Composite.initWidget() may only be called once.');
  }
  instanceOf(widget, Q$IsRenderable) && dynamicCast(widget, Q$IsRenderable);
  $removeFromParent(widget);
  elem = widget.element;
  this$static.element = elem;
  isPotential(elem) && (elem.__gwt_resolve = buildResolveCallback(this$static) , undefined);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

function $isAttached(this$static){
  if (this$static.widget) {
    return this$static.widget.isAttached();
  }
  return false;
}

function Composite(){
}

_ = Composite.prototype = new Widget;
_.getClass$ = function getClass_214(){
  return Lcom_google_gwt_user_client_ui_Composite_2_classLit;
}
;
_.isAttached = function isAttached_0(){
  return $isAttached(this);
}
;
_.onAttach = function onAttach_0(){
  if (this.eventsToSink != -1) {
    $sinkEvents(this.widget, this.eventsToSink);
    this.eventsToSink = -1;
  }
  this.widget.onAttach();
  this.element.__listener = this;
  fire_0(this, true);
}
;
_.onBrowserEvent = function onBrowserEvent_0(event_0){
  $onBrowserEvent_0(this, event_0);
  this.widget.onBrowserEvent(event_0);
}
;
_.onDetach = function onDetach_0(){
  try {
    this.onUnload();
    fire_0(this, false);
  }
   finally {
    this.widget.onDetach();
  }
}
;
_.resolvePotentialElement = function resolvePotentialElement_0(){
  $setElement(this, this.widget.resolvePotentialElement());
  return this.element;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]);
_.widget = null;
function $addCellPreviewHandler(this$static, handler){
  return $addCellPreviewHandler_0(this$static.presenter, handler);
}

function $addRangeChangeHandler(this$static, handler){
  return $addRangeChangeHandler_0(this$static.presenter, handler);
}

function $addRowCountChangeHandler(this$static, handler){
  return $addRowCountChangeHandler_0(this$static.presenter, handler);
}

function $cellConsumesEventType(cell, eventType){
  var consumedEvents;
  consumedEvents = cell.consumedEvents;
  return !!consumedEvents && consumedEvents.coll.contains(eventType);
}

function $checkRowBounds(this$static, row){
  if (!(row >= 0 && row < $getVisibleItemCount(this$static.presenter))) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + this$static.getRowCount());
  }
}

function $replaceChildren(this$static, start, html){
  var newChildren;
  newChildren = this$static.convertToElements(html);
  replaceChildren(this$static.getChildContainer(), newChildren, start);
}

function $setFocusable(this$static, elem, focusable){
  var rowElem;
  if (focusable) {
    $clinit_FocusImpl();
    rowElem = elem;
    $setTabIndex(rowElem, this$static.tabIndex_0);
  }
   else {
    elem.tabIndex = -1;
    elem.removeAttribute('tabIndex');
    elem.removeAttribute('accessKey');
  }
}

function $setKeyboardPagingPolicy(this$static, policy){
  $setKeyboardPagingPolicy_0(this$static.presenter, policy);
}

function $setKeyboardSelectionPolicy(this$static, policy){
  $setKeyboardSelectionPolicy_0(this$static.presenter, policy);
}

function $setRowCount(this$static, size, isExact){
  $setRowCount_0(this$static.presenter, size, isExact);
}

function $setVisibleRange(this$static, range){
  $setVisibleRange_0(this$static.presenter, range, false);
}

function $showOrHide(element, show){
  if (!element) {
    return;
  }
  show?(element.style['display'] = '' , undefined):(element.style['display'] = ($clinit_Style$Display() , 'none') , undefined);
}

function AbstractHasData_0(widget){
  var eventTypes;
  $initWidget(this, widget);
  this.presenter = new HasDataPresenter_0(this, new AbstractHasData$View_0(this));
  eventTypes = new HashSet_0;
  $add_8(eventTypes, 'focus');
  $add_8(eventTypes, 'blur');
  $add_8(eventTypes, 'keydown');
  $add_8(eventTypes, 'keyup');
  $add_8(eventTypes, 'click');
  $add_8(eventTypes, 'mousedown');
  $sinkEvents_0((!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , impl_1), this, eventTypes);
  $addCellPreviewHandler(this, new DefaultSelectionEventManager_0);
}

function convertToElements(widget, tmpElem, html){
  tmpElem.__listener = widget;
  $setInnerHTML(tmpElem, html.html);
  tmpElem.__listener = null;
  return tmpElem;
}

function replaceAllChildren(widget, childContainer, html){
  $isAttached(widget) || $setEventListener(widget.element, widget);
  $setInnerHTML(childContainer, (!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , html).html);
  $isAttached(widget) || (widget.element.__listener = null , undefined);
}

function replaceChildren(childContainer, newChildren, start){
  var childCount, count, i, nextSibling, toReplace;
  childCount = childContainer.childNodes.length;
  toReplace = null;
  start < childCount && (toReplace = childContainer.childNodes[start]);
  count = newChildren.childNodes.length;
  for (i = 0; i < count; ++i) {
    if (!toReplace) {
      $appendChild(childContainer, newChildren.childNodes[0]);
    }
     else {
      nextSibling = $getNextSiblingElement(toReplace);
      $replaceChild(childContainer, newChildren.childNodes[0], toReplace);
      toReplace = nextSibling;
    }
  }
}

function AbstractHasData(){
}

_ = AbstractHasData.prototype = new Composite;
_.convertToElements = function convertToElements_0(html){
  return convertToElements(this, (!tmpElem_0 && (tmpElem_0 = $doc.createElement('div')) , tmpElem_0), html);
}
;
_.getClass$ = function getClass_215(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData_2_classLit;
}
;
_.getRowCount = function getRowCount(){
  return $getCurrentState(this.presenter).rowCount;
}
;
_.getVisibleRange = function getVisibleRange(){
  return $getVisibleRange(this.presenter);
}
;
_.onBlur = function onBlur(){
}
;
_.onBrowserEvent = function onBrowserEvent_1(event_0){
  var eventTarget, eventType, keyCode;
  !impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0);
  if (this.isRefreshing) {
    return;
  }
  eventTarget = event_0.target;
  if (!is_0(eventTarget) || !$isOrHasChild(this.element, eventTarget)) {
    return;
  }
  $onBrowserEvent_0(this, event_0);
  this.widget.onBrowserEvent(event_0);
  eventType = event_0.type;
  if ($equals_1('focus', eventType)) {
    this.isFocused = true;
    this.onFocus();
  }
   else if ($equals_1('blur', eventType)) {
    this.isFocused = false;
    this.onBlur();
  }
   else if ($equals_1('keydown', eventType) && !this.isKeyboardNavigationSuppressed()) {
    this.isFocused = true;
    keyCode = event_0.keyCode || 0;
    switch (keyCode) {
      case 40:
        $keyboardNext(this.presenter);
        event_0.preventDefault();
        return;
      case 38:
        $keyboardPrev(this.presenter);
        event_0.preventDefault();
        return;
      case 34:
        $keyboardNextPage(this.presenter);
        event_0.preventDefault();
        return;
      case 33:
        $keyboardPrevPage(this.presenter);
        event_0.preventDefault();
        return;
      case 36:
        $keyboardHome(this.presenter);
        event_0.preventDefault();
        return;
      case 35:
        $keyboardEnd(this.presenter);
        event_0.preventDefault();
        return;
      case 32:
        event_0.preventDefault();
        return;
    }
  }
  this.onBrowserEvent2(event_0);
}
;
_.onBrowserEvent2 = function onBrowserEvent2(event_0){
}
;
_.onFocus = function onFocus(){
}
;
_.onLoadingStateChanged = function onLoadingStateChanged(state){
  $fireEvent_0(this, new LoadingStateChangeEvent_0);
}
;
_.onUnload = function onUnload_0(){
  this.isFocused = false;
}
;
_.replaceAllChildren = function replaceAllChildren_0(values, html){
  replaceAllChildren(this, this.getChildContainer(), html);
}
;
_.setRowCount = function setRowCount(size, isExact){
  $setRowCount_0(this.presenter, size, isExact);
}
;
_.setRowData = function setRowData(start, values){
  $setRowData(this.presenter, start, values);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget, Q$HasData]);
_.isFocused = false;
_.isRefreshing = false;
_.presenter = null;
_.tabIndex_0 = 0;
var tmpElem_0 = null;
function $addColumn(this$static, col, headerString){
  $insertColumn(this$static, this$static.columns.size, col, new TextHeader_0(headerString));
}

function $checkColumnBounds(this$static, col){
  if (col < 0 || col >= this$static.columns.size) {
    throw new IndexOutOfBoundsException_1('Column index is out of bounds: ' + col);
  }
}

function $coalesceCellProperties(this$static){
  var column, column$iterator;
  this$static.handlesSelection = false;
  this$static.isInteractive = false;
  for (column$iterator = new AbstractList$IteratorImpl_0(this$static.columns); column$iterator.i < column$iterator.this$0_0.size_0();) {
    column = dynamicCast($next_1(column$iterator), Q$Column);
    $isColumnInteractive(column) && (this$static.isInteractive = true);
  }
}

function $createHeaders(this$static, isFooter){
  var className, classesBuilder, columnCount, curColumn, firstColumnStyle, hasHeader, header, headerBuilder, headerHtml, lastColumnStyle, prevColspan, prevHeader, sb, section, theHeaders;
  theHeaders = isFooter?this$static.footers:this$static.headers;
  section = isFooter?this$static.getTableFootElement():this$static.getTableHeadElement();
  className = isFooter?'GPBYFDEED':'GPBYFDEFD';
  firstColumnStyle = ' ' + (isFooter?'GPBYFDECD':'GPBYFDEDD');
  lastColumnStyle = ' ' + (isFooter?'GPBYFDEMD':'GPBYFDEND');
  hasHeader = false;
  sb = new SafeHtmlBuilder_0;
  $append_9(sb.sb, '<tr>');
  columnCount = this$static.columns.size;
  if (columnCount > 0) {
    this$static.sortList.infos.size == 0?null:throwClassCastExceptionUnlessNull($get(this$static.sortList.infos, 0));
    prevHeader = dynamicCast((checkIndex(0, theHeaders.size) , theHeaders.array[0]), Q$Header);
    dynamicCast($get(this$static.columns, 0), Q$Column);
    prevColspan = 1;
    classesBuilder = new StringBuilder_2(className);
    $append_1(classesBuilder.impl, firstColumnStyle);
    for (curColumn = 1; curColumn < columnCount; ++curColumn) {
      header = dynamicCast((checkIndex(curColumn, theHeaders.size) , theHeaders.array[curColumn]), Q$Header);
      if (header != prevHeader) {
        headerHtml = ($clinit_SafeHtmlUtils() , EMPTY_SAFE_HTML);
        if (prevHeader) {
          hasHeader = true;
          headerBuilder = new SafeHtmlBuilder_0;
          $render(prevHeader.text, headerBuilder);
          headerHtml = new SafeHtmlString_0(headerBuilder.sb.impl.string);
        }
        $append_2(sb, $th(prevColspan, classesBuilder.impl.string, headerHtml));
        prevHeader = header;
        prevColspan = 1;
        classesBuilder = new StringBuilder_2(className);
      }
       else {
        ++prevColspan;
      }
      dynamicCast($get(this$static.columns, curColumn), Q$Column);
    }
    headerHtml = ($clinit_SafeHtmlUtils() , EMPTY_SAFE_HTML);
    if (prevHeader) {
      hasHeader = true;
      headerBuilder = new SafeHtmlBuilder_0;
      $render(prevHeader.text, headerBuilder);
      headerHtml = new SafeHtmlString_0(headerBuilder.sb.impl.string);
    }
    classesBuilder.impl.string += ' ';
    $append_1(classesBuilder.impl, lastColumnStyle);
    $append_2(sb, $th(prevColspan, classesBuilder.impl.string, headerHtml));
  }
  $append_9(sb.sb, '<\/tr>');
  $replaceAllRows(this$static, section, new SafeHtmlString_0(sb.sb.impl.string));
  this$static.doSetHeaderVisible(isFooter, hasHeader);
}

function $findInteractiveColumn(this$static, start, reverse){
  var i;
  if (this$static.isInteractive) {
    if (reverse) {
      for (i = start - 1; i >= 0; --i) {
        if ($isColumnInteractive(dynamicCast($get(this$static.columns, i), Q$Column))) {
          return i;
        }
      }
      for (i = this$static.columns.size - 1; i >= start; --i) {
        if ($isColumnInteractive(dynamicCast($get(this$static.columns, i), Q$Column))) {
          return i;
        }
      }
    }
     else {
      for (i = start + 1; i < this$static.columns.size; ++i) {
        if ($isColumnInteractive(dynamicCast($get(this$static.columns, i), Q$Column))) {
          return i;
        }
      }
      for (i = 0; i <= start; ++i) {
        if ($isColumnInteractive(dynamicCast($get(this$static.columns, i), Q$Column))) {
          return i;
        }
      }
    }
  }
   else {
    return 0;
  }
  return 0;
}

function $findNearestParentCell(this$static, elem){
  var tagName;
  while (!!elem && elem != this$static.element) {
    tagName = elem.tagName;
    if ($equalsIgnoreCase('td', tagName) || $equalsIgnoreCase('th', tagName)) {
      return elem;
    }
    elem = $getParentElement(elem);
  }
  return null;
}

function $fireEventToCell(this$static, event_0, eventType, tableCell, value, column){
  var cell;
  cell = column.cell;
  if ($cellConsumesEventType(cell, eventType)) {
    $getValue(column, dynamicCast(value, Q$Tuple));
    $getFirstChildElement(tableCell);
    $onBrowserEvent(($getValue(column, dynamicCast(value, Q$Tuple)) , event_0));
    this$static.cellIsEditing = false;
  }
}

function $getKeyboardSelectedElement(this$static){
  var rowIndex, rows, td, tr;
  rowIndex = $getKeyboardSelectedRow(this$static.presenter);
  rows = this$static.getTableBodyElement().rows;
  if (rowIndex >= 0 && rowIndex < rows.length && this$static.columns.size > 0) {
    tr = rows[rowIndex];
    td = tr.cells[this$static.keyboardSelectedColumn];
    return $getFirstChildElement(td);
  }
  return null;
}

function $handleKey(this$static, event_0){
  var keyCode, nextColumn, oldRow, presenter, prevColumn;
  presenter = this$static.presenter;
  oldRow = $getKeyboardSelectedRow(this$static.presenter);
  keyCode = event_0.keyCode || 0;
  if (keyCode == 39) {
    nextColumn = $findInteractiveColumn(this$static, this$static.keyboardSelectedColumn, false);
    if (nextColumn <= this$static.keyboardSelectedColumn) {
      if ($hasKeyboardNext(presenter)) {
        this$static.keyboardSelectedColumn = nextColumn;
        $hasKeyboardNext(presenter) && $setKeyboardSelectedRow(presenter, $getKeyboardSelectedRow(presenter) + 1, true, false);
        event_0.preventDefault();
        return true;
      }
    }
     else {
      this$static.keyboardSelectedColumn = nextColumn;
      $setKeyboardSelectedRow(this$static.presenter, oldRow, true, true);
      event_0.preventDefault();
      return true;
    }
  }
   else if (keyCode == 37) {
    prevColumn = $findInteractiveColumn(this$static, this$static.keyboardSelectedColumn, true);
    if (prevColumn >= this$static.keyboardSelectedColumn) {
      if ($hasKeyboardPrev(presenter)) {
        this$static.keyboardSelectedColumn = prevColumn;
        $hasKeyboardPrev(presenter) && $setKeyboardSelectedRow(presenter, $getKeyboardSelectedRow(presenter) - 1, true, false);
        event_0.preventDefault();
        return true;
      }
    }
     else {
      this$static.keyboardSelectedColumn = prevColumn;
      $setKeyboardSelectedRow(this$static.presenter, oldRow, true, true);
      event_0.preventDefault();
      return true;
    }
  }
  return false;
}

function $insertColumn(this$static, beforeIndex, col, header){
  var cellEvents, consumedEvents, headerEvents, wasinteractive;
  beforeIndex != this$static.columns.size && $checkColumnBounds(this$static, beforeIndex);
  $add_2(this$static.headers, beforeIndex, header);
  $add_2(this$static.footers, beforeIndex, null);
  $add_2(this$static.columns, beforeIndex, col);
  wasinteractive = this$static.isInteractive;
  $coalesceCellProperties(this$static);
  !wasinteractive && this$static.isInteractive && (this$static.keyboardSelectedColumn = beforeIndex);
  consumedEvents = new HashSet_0;
  cellEvents = col.cell.consumedEvents;
  !!cellEvents && consumedEvents.addAll(cellEvents);
  if (header) {
    headerEvents = header.cell.consumedEvents;
    !!headerEvents && consumedEvents.addAll(headerEvents);
  }
  $sinkEvents_0((!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , impl_1), this$static, consumedEvents);
  $refreshColumnWidths_0(this$static);
  $redraw(this$static.presenter);
}

function $isColumnInteractive(column){
  var consumedEvents;
  consumedEvents = column.cell.consumedEvents;
  return !!consumedEvents && consumedEvents.coll.size_0() > 0;
}

function $refreshColumnWidths(this$static){
  var column, columnCount, i, width;
  columnCount = this$static.columns.size;
  for (i = 0; i < columnCount; ++i) {
    column = dynamicCast($get(this$static.columns, i), Q$Column);
    width = dynamicCast(this$static.columnWidths.get_0(column), Q$String);
    width == null?($ensureTableColElement(this$static, i).style['width'] = '' , undefined):($ensureTableColElement(this$static, i).style['width'] = width , undefined);
  }
}

function $setRowStyleName(tr, rowStyle, cellStyle, add){
  var cells, i;
  setStyleName(tr, rowStyle, add);
  cells = tr.cells;
  for (i = 0; i < cells.length; ++i) {
    setStyleName(cells[i], cellStyle, add);
  }
}

function AbstractCellTable_0(elem){
  var eventTypes;
  AbstractHasData_0.call(this, new AbstractHasData$1_0(elem));
  this.columns = new ArrayList_0;
  this.columnWidths = new HashMap_0;
  this.footers = new ArrayList_0;
  this.headers = new ArrayList_0;
  this.sortList = new ColumnSortList_0;
  !TABLE_IMPL && (TABLE_IMPL = new AbstractCellTable$Impl_0);
  !template && (template = new AbstractCellTable_TemplateImpl_0);
  eventTypes = new HashSet_0;
  $add_8(eventTypes, 'mouseover');
  $add_8(eventTypes, 'mouseout');
  $sinkEvents_0((!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , impl_1), this, eventTypes);
}

function AbstractCellTable(){
}

_ = AbstractCellTable.prototype = new AbstractHasData;
_.convertToElements = function convertToElements_1(html){
  return $convertToSectionElement(TABLE_IMPL, this, 'tbody', html);
}
;
_.getChildContainer = function getChildContainer(){
  return this.getTableBodyElement();
}
;
_.getClass$ = function getClass_216(){
  return Lcom_google_gwt_user_cellview_client_AbstractCellTable_2_classLit;
}
;
_.getKeyboardSelectedElement = function getKeyboardSelectedElement(){
  return $getKeyboardSelectedElement(this);
}
;
_.isKeyboardNavigationSuppressed = function isKeyboardNavigationSuppressed(){
  return this.cellIsEditing;
}
;
_.onBlur = function onBlur_0(){
  var elem, td, tr;
  elem = $getKeyboardSelectedElement(this);
  if (elem) {
    td = $getParentElement(elem);
    tr = $getParentElement(td);
    $removeClassName(td, 'GPBYFDEID');
    $setRowStyleName(tr, 'GPBYFDEJD', 'GPBYFDEKD', false);
  }
}
;
_.onBrowserEvent2 = function onBrowserEvent2_0(event_0){
  var col, eventTarget, eventType, footer, header, isClick, isFocusable, isSelectionHandled, row, section, sectionElem, tableCell, target, tr, trElem, value;
  eventTarget = event_0.target;
  if (!is_0(eventTarget)) {
    return;
  }
  target = event_0.target;
  eventType = event_0.type;
  if ($equals_1('keydown', eventType) && !this.cellIsEditing && ($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) != this.presenter.keyboardSelectionPolicy) {
    if ($handleKey(this, event_0)) {
      return;
    }
  }
  tableCell = $findNearestParentCell(this, target);
  if (!tableCell) {
    return;
  }
  trElem = $getParentElement(tableCell);
  if (!trElem) {
    return;
  }
  tr = trElem;
  sectionElem = $getParentElement(tr);
  if (!sectionElem) {
    return;
  }
  section = sectionElem;
  isClick = $equals_1('click', eventType);
  col = tableCell.cellIndex;
  if (section == this.getTableHeadElement()) {
    header = dynamicCast($get(this.headers, col), Q$Header);
    if (header) {
      $cellConsumesEventType(header.cell, eventType) && $onBrowserEvent(event_0, header);
      dynamicCast($get(this.columns, col), Q$Column);
    }
  }
   else if (section == this.getTableFootElement()) {
    footer = dynamicCast($get(this.footers, col), Q$Header);
    !!footer && $cellConsumesEventType(footer.cell, eventType) && $onBrowserEvent(event_0, footer);
  }
   else if (section == this.getTableBodyElement()) {
    row = tr.sectionRowIndex;
    if ($equals_1('mouseover', eventType)) {
      !!this.hoveringRow && $isOrHasChild(this.getTableBodyElement(), this.hoveringRow) && $setRowStyleName(this.hoveringRow, 'GPBYFDEGD', 'GPBYFDEHD', false);
      this.hoveringRow = tr;
      $setRowStyleName(this.hoveringRow, 'GPBYFDEGD', 'GPBYFDEHD', true);
    }
     else if ($equals_1('mouseout', eventType) && !!this.hoveringRow) {
      $setRowStyleName(this.hoveringRow, 'GPBYFDEGD', 'GPBYFDEHD', false);
      this.hoveringRow = null;
    }
     else if (isClick && ($getKeyboardSelectedRowInView(this.presenter) != row || this.keyboardSelectedColumn != col)) {
      isFocusable = (!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , $isFocusable(impl_1, target));
      this.isFocused = this.isFocused || isFocusable;
      this.keyboardSelectedColumn = col;
      $setKeyboardSelectedRow(this.presenter, row, !isFocusable, true);
    }
    if (!(row >= 0 && row < $getVisibleItemCount(this.presenter))) {
      return;
    }
    isSelectionHandled = this.handlesSelection || ($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , BOUND_TO_SELECTION) == this.presenter.keyboardSelectionPolicy;
    value = ($checkRowBounds(this, row) , $getVisibleItem(this.presenter, row));
    row + $getVisibleRange(this.presenter).start;
    fire_5(this, event_0, this, value, this.cellIsEditing, isSelectionHandled);
    $fireEventToCell(this, event_0, eventType, tableCell, value, dynamicCast($get(this.columns, col), Q$Column));
  }
}
;
_.onFocus = function onFocus_0(){
  var elem, td, tr;
  elem = $getKeyboardSelectedElement(this);
  if (elem) {
    td = $getParentElement(elem);
    tr = $getParentElement(td);
    $addClassName(td, 'GPBYFDEID');
    $setRowStyleName(tr, 'GPBYFDEJD', 'GPBYFDEKD', true);
  }
}
;
_.renderRowValues = function renderRowValues(sb, values, start, selectionModel){
  var cellBuilder, column, column$iterator, columnCount, contents, curColumn, end, i, isEven, isKeyboardSelected, isSelected, keyboardSelectedRow, length_0, tdClasses, trBuilder, trClasses, value, sb_0;
  $createHeaders(this, false);
  $createHeaders(this, true);
  keyboardSelectedRow = $getKeyboardSelectedRow(this.presenter) + $getVisibleRange(this.presenter).start;
  columnCount = this.columns.size;
  length_0 = values.size_0();
  end = start + length_0;
  for (i = start; i < end; ++i) {
    value = values.get(i - start);
    isSelected = !(!selectionModel || value == null) && $isSelected(selectionModel, value);
    isEven = i % 2 == 0;
    isKeyboardSelected = i == keyboardSelectedRow && this.isFocused;
    trClasses = isEven?'GPBYFDEPC':'GPBYFDEPD';
    isSelected && (trClasses += ' GPBYFDEBE');
    isKeyboardSelected && (trClasses += ' GPBYFDEJD');
    trBuilder = new SafeHtmlBuilder_0;
    curColumn = 0;
    for (column$iterator = new AbstractList$IteratorImpl_0(this.columns); column$iterator.i < column$iterator.this$0_0.size_0();) {
      column = dynamicCast($next_1(column$iterator), Q$Column);
      tdClasses = 'GPBYFDEOC';
      tdClasses += isEven?' GPBYFDEAD':' GPBYFDEAE';
      curColumn == 0 && (tdClasses += ' GPBYFDEBD');
      isSelected && (tdClasses += ' GPBYFDECE');
      isKeyboardSelected && (tdClasses += ' GPBYFDEKD');
      curColumn == columnCount - 1 && (tdClasses += ' GPBYFDELD');
      cellBuilder = new SafeHtmlBuilder_0;
      value != null && $render($getValue(column, dynamicCast(value, Q$Tuple)), cellBuilder);
      $clinit_SafeHtmlUtils();
      if (i == keyboardSelectedRow && curColumn == this.keyboardSelectedColumn) {
        this.isFocused && (tdClasses += ' GPBYFDEID');
        contents = $divFocusable(this.tabIndex_0, new SafeHtmlString_0(cellBuilder.sb.impl.string));
      }
       else {
        contents = $div(new SafeHtmlString_0(cellBuilder.sb.impl.string));
      }
      $append_2(trBuilder, (sb_0 = new StringBuilder_0 , sb_0.impl.string += '<td class="' , $append_9(sb_0, htmlEscape(tdClasses)) , sb_0.impl.string += '">' , $append_9(sb_0, contents.html) , sb_0.impl.string += '<\/td>' , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb_0.impl.string)));
      ++curColumn;
    }
    $append_2(sb, $tr(trClasses, new SafeHtmlString_0(trBuilder.sb.impl.string)));
  }
}
;
_.replaceAllChildren = function replaceAllChildren_1(values, html){
  $replaceAllRows(this, this.getTableBodyElement(), (!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , html));
}
;
_.resetFocusOnCell = function resetFocusOnCell(){
  var column, row, value;
  row = $getKeyboardSelectedRow(this.presenter);
  if (row >= 0 && row < $getVisibleItemCount(this.presenter) && this.columns.size > 0) {
    column = dynamicCast($get(this.columns, this.keyboardSelectedColumn), Q$Column);
    return $getKeyboardSelectedElement(this) , value = ($checkRowBounds(this, row) , $getVisibleItem(this.presenter, row)) , $getValue(column, dynamicCast(value, Q$Tuple)) , row + $getVisibleRange(this.presenter).start , false;
  }
  return false;
}
;
--></script>
<script><!--
_.setKeyboardSelected = function setKeyboardSelected(index, selected, stealFocus){
  var cellParent, cells, i, td, tr, updatedSelection, rows;
  if (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this.presenter.keyboardSelectionPolicy || !(index >= 0 && index < $getVisibleItemCount(this.presenter)) || this.columns.size == 0) {
    return;
  }
  tr = ($flush(this.presenter) , $checkRowBounds(this, index) , rows = this.getTableBodyElement().rows , rows.length > index?rows[index]:null);
  updatedSelection = !selected || this.isFocused || stealFocus;
  $setRowStyleName(tr, 'GPBYFDEJD', 'GPBYFDEKD', selected);
  cells = tr.cells;
  for (i = 0; i < cells.length; ++i) {
    td = cells[i];
    setStyleName(td, 'GPBYFDEID', updatedSelection && selected && i == this.keyboardSelectedColumn);
    cellParent = $getFirstChildElement(td);
    $setFocusable(this, cellParent, selected && i == this.keyboardSelectedColumn);
  }
  if (selected && stealFocus && !this.cellIsEditing) {
    td = tr.cells[this.keyboardSelectedColumn];
    cellParent = $getFirstChildElement(td);
    !impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0);
    $resetFocus_0(new AbstractCellTable$2_0(cellParent));
  }
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget, Q$HasData]);
_.cellIsEditing = false;
_.handlesSelection = false;
_.hoveringRow = null;
_.isInteractive = false;
_.keyboardSelectedColumn = 0;
var TABLE_IMPL = null, template = null;
function AbstractCellTable$2_0(val$cellParent){
  this.val$cellParent = val$cellParent;
}

function AbstractCellTable$2(){
}

_ = AbstractCellTable$2_0.prototype = AbstractCellTable$2.prototype = new Object_0;
_.execute_1 = function execute_6(){
  this.val$cellParent.focus();
}
;
_.getClass$ = function getClass_217(){
  return Lcom_google_gwt_user_cellview_client_AbstractCellTable$2_2_classLit;
}
;
_.val$cellParent = null;
function $convertToSectionElement(this$static, table, sectionTag, rowHtml){
  var tableElem, sb, sb_0, sb_1;
  $setEventListener(this$static.tmpElem, table);
  sectionTag = sectionTag.toLowerCase();
  if ($equals_1('tbody', sectionTag)) {
    $setInnerHTML(this$static.tmpElem, (sb = new StringBuilder_0 , sb.impl.string += '<table><tbody>' , $append_9(sb, rowHtml.html) , sb.impl.string += '<\/tbody><\/table>' , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string)).html);
  }
   else if ($equals_1('thead', sectionTag)) {
    $setInnerHTML(this$static.tmpElem, (sb_0 = new StringBuilder_0 , sb_0.impl.string += '<table><thead>' , $append_9(sb_0, rowHtml.html) , sb_0.impl.string += '<\/thead><\/table>' , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb_0.impl.string)).html);
  }
   else if ($equals_1('tfoot', sectionTag)) {
    $setInnerHTML(this$static.tmpElem, (sb_1 = new StringBuilder_0 , sb_1.impl.string += '<table><tfoot>' , $append_9(sb_1, rowHtml.html) , sb_1.impl.string += '<\/tfoot><\/table>' , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb_1.impl.string)).html);
  }
   else {
    throw new IllegalArgumentException_1('Invalid table section tag: ' + sectionTag);
  }
  tableElem = $getFirstChildElement(this$static.tmpElem);
  this$static.tmpElem.__listener = null;
  if ($equals_1('tbody', sectionTag)) {
    return tableElem.tBodies[0];
  }
   else if ($equals_1('thead', sectionTag)) {
    return tableElem.tHead;
  }
   else if ($equals_1('tfoot', sectionTag)) {
    return tableElem.tFoot;
  }
   else {
    throw new IllegalArgumentException_1('Invalid table section tag: ' + sectionTag);
  }
}

function $replaceAllRows(table, section, html){
  var nextSection, parent_0, parent_1;
  $isAttached(table) || $setEventListener(table.element, table);
  parent_0 = $getParentElement(section);
  nextSection = $getNextSiblingElement(section);
  parent_1 = $getParentElement(section);
  !!parent_1 && parent_1.removeChild(section);
  $setInnerHTML(section, html.html);
  parent_0.insertBefore(section, nextSection);
  $isAttached(table) || (table.element.__listener = null , undefined);
}

function AbstractCellTable$Impl_0(){
  this.tmpElem = $doc.createElement('div');
}

function AbstractCellTable$Impl(){
}

_ = AbstractCellTable$Impl_0.prototype = AbstractCellTable$Impl.prototype = new Object_0;
_.getClass$ = function getClass_218(){
  return Lcom_google_gwt_user_cellview_client_AbstractCellTable$Impl_2_classLit;
}
;
function $div(arg0){
  var sb;
  sb = new StringBuilder_0;
  sb.impl.string += '<div style="outline:none;">';
  $append_9(sb, arg0.html);
  sb.impl.string += '<\/div>';
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function $divFocusable(arg0, arg1){
  var sb;
  sb = new StringBuilder_0;
  sb.impl.string += '<div style="outline:none;" tabindex="';
  $append_9(sb, htmlEscape('' + arg0));
  sb.impl.string += '">';
  $append_9(sb, arg1.html);
  sb.impl.string += '<\/div>';
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function $th(arg0, arg1, arg2){
  var sb;
  sb = new StringBuilder_0;
  sb.impl.string += '<th colspan="';
  $append_9(sb, htmlEscape('' + arg0));
  sb.impl.string += '" class="';
  $append_9(sb, htmlEscape(arg1));
  sb.impl.string += '">';
  $append_9(sb, arg2.html);
  sb.impl.string += '<\/th>';
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function $tr(arg0, arg1){
  var sb;
  sb = new StringBuilder_0;
  sb.impl.string += '<tr onclick="" class="';
  $append_9(sb, htmlEscape(arg0));
  sb.impl.string += '">';
  $append_9(sb, arg1.html);
  sb.impl.string += '<\/tr>';
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function AbstractCellTable_TemplateImpl_0(){
}

function AbstractCellTable_TemplateImpl(){
}

_ = AbstractCellTable_TemplateImpl_0.prototype = AbstractCellTable_TemplateImpl.prototype = new Object_0;
_.getClass$ = function getClass_219(){
  return Lcom_google_gwt_user_cellview_client_AbstractCellTable_1TemplateImpl_2_classLit;
}
;
function AbstractHasData$1_0(val$elem){
  this.val$elem = val$elem;
  $setElement(this, this.val$elem);
}

function AbstractHasData$1(){
}

_ = AbstractHasData$1_0.prototype = AbstractHasData$1.prototype = new Widget;
_.getClass$ = function getClass_220(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
_.val$elem = null;
function $addHandler_1(this$static, handler, type){
  return $addHandler_0(this$static.hasData, handler, type);
}

function $render_1(this$static, sb, values, start, selectionModel){
  this$static.hasData.renderRowValues(sb, values, start, selectionModel);
}

function $replaceAllChildren(this$static, values, html, stealFocus){
  this$static.hasData.isFocused = this$static.hasData.isFocused || stealFocus;
  this$static.wasFocused = this$static.hasData.isFocused;
  this$static.hasData.isRefreshing = true;
  this$static.hasData.replaceAllChildren(values, html);
  this$static.hasData.isRefreshing = false;
  $fireEvent_0(this$static.hasData, new AbstractHasData$View$2_0(unmodifiableList($getCurrentState(this$static.hasData.presenter).rowData)));
}

function $replaceChildren_0(this$static, start, html, stealFocus){
  this$static.hasData.isFocused = this$static.hasData.isFocused || stealFocus;
  this$static.wasFocused = this$static.hasData.isFocused;
  this$static.hasData.isRefreshing = true;
  $replaceChildren(this$static.hasData, start, html);
  this$static.hasData.isRefreshing = false;
  $fireEvent_0(this$static.hasData, new AbstractHasData$View$2_0(unmodifiableList($getCurrentState(this$static.hasData.presenter).rowData)));
}

function $resetFocus(this$static){
  this$static.wasFocused && (!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , $resetFocus_0(new AbstractHasData$View$1_0(this$static)));
}

function $setKeyboardSelected(this$static, index, seleted, stealFocus){
  this$static.hasData.isFocused = this$static.hasData.isFocused || stealFocus;
  this$static.hasData.setKeyboardSelected(index, seleted, stealFocus);
}

function $setLoadingState(this$static, state){
  this$static.hasData.isRefreshing = true;
  this$static.hasData.onLoadingStateChanged(state);
  this$static.hasData.isRefreshing = false;
}

function AbstractHasData$View_0(hasData){
  this.hasData = hasData;
}

function AbstractHasData$View(){
}

_ = AbstractHasData$View_0.prototype = AbstractHasData$View.prototype = new Object_0;
_.getClass$ = function getClass_221(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData$View_2_classLit;
}
;
_.hasData = null;
_.wasFocused = false;
function AbstractHasData$View$1_0(this$1){
  this.this$1 = this$1;
}

function AbstractHasData$View$1(){
}

_ = AbstractHasData$View$1_0.prototype = AbstractHasData$View$1.prototype = new Object_0;
_.execute_1 = function execute_7(){
  var elem;
  if (!this.this$1.hasData.resetFocusOnCell()) {
    elem = this.this$1.hasData.getKeyboardSelectedElement();
    !!elem && (elem.focus() , undefined);
  }
}
;
_.getClass$ = function getClass_222(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData$View$1_2_classLit;
}
;
_.this$1 = null;
function AbstractHasData$View$2_0(){
}

function AbstractHasData$View$2(){
}

_ = AbstractHasData$View$2_0.prototype = AbstractHasData$View$2.prototype = new ValueChangeEvent;
_.getClass$ = function getClass_223(){
  return Lcom_google_gwt_user_cellview_client_AbstractHasData$View$2_2_classLit;
}
;
function $handleRowCountChange(this$static){
  var oldRowCount;
  oldRowCount = this$static.lastRowCount;
  this$static.lastRowCount = $getRowCount(this$static.display_0);
  oldRowCount != this$static.lastRowCount && $setPageStart(this$static, !this$static.display_0?-1:$getVisibleRange(this$static.display_0.presenter).start);
}

function $setDisplay(this$static, display){
  if (this$static.rangeChangeHandler) {
    $removeHandler(this$static.rangeChangeHandler.real);
    this$static.rangeChangeHandler = null;
  }
  if (this$static.rowCountChangeHandler) {
    $removeHandler(this$static.rowCountChangeHandler.real);
    this$static.rangeChangeHandler = null;
  }
  this$static.display_0 = display;
  if (display) {
    this$static.rangeChangeHandler = $addRangeChangeHandler(display, new AbstractPager$1_0);
    this$static.rowCountChangeHandler = $addRowCountChangeHandler(display, new AbstractPager$2_0(this$static));
  }
}

function $setPageStart(this$static, index){
  var pageSize, range;
  if (this$static.display_0) {
    range = $getVisibleRange(this$static.display_0.presenter);
    pageSize = range.length_0;
    $getCurrentState(this$static.display_0.presenter).rowCountIsExact && (index = min(index, $getRowCount(this$static.display_0) - pageSize));
    index = 0 > index?0:index;
    index != range.start && $setVisibleRange(this$static.display_0, new Range_1(index, pageSize));
  }
}

function AbstractPager(){
}

_ = AbstractPager.prototype = new Composite;
_.getClass$ = function getClass_224(){
  return Lcom_google_gwt_user_cellview_client_AbstractPager_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]);
_.display_0 = null;
_.lastRowCount = 0;
_.rangeChangeHandler = null;
_.rowCountChangeHandler = null;
function AbstractPager$1_0(){
}

function AbstractPager$1(){
}

_ = AbstractPager$1_0.prototype = AbstractPager$1.prototype = new Object_0;
_.getClass$ = function getClass_225(){
  return Lcom_google_gwt_user_cellview_client_AbstractPager$1_2_classLit;
}
;
_.onRangeChange = function onRangeChange(event_0){
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler, Q$RangeChangeEvent$Handler]);
function AbstractPager$2_0(this$0){
  this.this$0 = this$0;
}

function AbstractPager$2(){
}

_ = AbstractPager$2_0.prototype = AbstractPager$2.prototype = new Object_0;
_.getClass$ = function getClass_226(){
  return Lcom_google_gwt_user_cellview_client_AbstractPager$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler, Q$RowCountChangeEvent$Handler]);
_.this$0 = null;
function $isFocusable(this$static, elem){
  return $contains(this$static.focusableTypes, elem.tagName.toLowerCase()) || $getTabIndex(elem) >= 0;
}

function $sinkEvents_0(this$static, widget, typeNames){
  var eventsToSink, typeInt, typeName, typeName$iterator;
  if (!typeNames) {
    return;
  }
  eventsToSink = 0;
  for (typeName$iterator = $iterator($keySet(typeNames.map)); typeName$iterator.val$outerIter.hasNext();) {
    typeName = dynamicCast($next_2(typeName$iterator), Q$String);
    typeInt = $eventGetTypeInt(typeName);
    if (typeInt < 0) {
      $sinkBitlessEvent_0(widget.element, typeName);
    }
     else {
      typeInt = $sinkEvent(this$static, widget, typeName);
      typeInt > 0 && (eventsToSink |= typeInt);
    }
  }
  eventsToSink > 0 && (widget.eventsToSink == -1?$sinkEvents_1(widget.element, eventsToSink | (widget.element.__eventBits || 0)):(widget.eventsToSink |= eventsToSink));
}

function CellBasedWidgetImpl(){
}

_ = CellBasedWidgetImpl.prototype = new Object_0;
_.getClass$ = function getClass_227(){
  return Lcom_google_gwt_user_cellview_client_CellBasedWidgetImpl_2_classLit;
}
;
_.focusableTypes = null;
var impl_1 = null;
function $initEventSystem(){
  dispatchNonBubblingEvent = $entry(function(evt){
    handleNonBubblingEvent(evt);
  }
  );
}

function $sinkEvent(this$static, widget, typeName){
  var elem;
  if ($contains(this$static.nonBubblingEvents, typeName)) {
    !dispatchNonBubblingEvent && $initEventSystem();
    elem = widget.element;
    if (!$equals_1('true', elem.getAttribute('__gwtCellBasedWidgetImplDispatching' + typeName) || '')) {
      elem.setAttribute('__gwtCellBasedWidgetImplDispatching' + typeName, 'true');
      elem.addEventListener(typeName, dispatchNonBubblingEvent, true);
    }
    return -1;
  }
   else {
    return $eventGetTypeInt(typeName);
  }
}

function handleNonBubblingEvent(event_0){
  var eventTarget, listener, target, typeName;
  eventTarget = event_0.target;
  if (!is_0(eventTarget)) {
    return;
  }
  target = eventTarget;
  typeName = event_0.type;
  listener = target.__listener;
  while (!!target && !listener) {
    target = $getParentElement(target);
    !!target && $equals_1('true', target.getAttribute('__gwtCellBasedWidgetImplDispatching' + typeName) || '') && (listener = target.__listener);
  }
  !!listener && (dispatchEvent_0(event_0, target, listener) , undefined);
}

function CellBasedWidgetImplStandard(){
}

_ = CellBasedWidgetImplStandard.prototype = new CellBasedWidgetImpl;
_.getClass$ = function getClass_228(){
  return Lcom_google_gwt_user_cellview_client_CellBasedWidgetImplStandard_2_classLit;
}
;
_.nonBubblingEvents = null;
var dispatchNonBubblingEvent = null;
function $resetFocus_0(command){
  $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), command);
}

function CellBasedWidgetImplStandardBase_0(){
  this.focusableTypes = new HashSet_0;
  $add_8(this.focusableTypes, 'select');
  $add_8(this.focusableTypes, 'input');
  $add_8(this.focusableTypes, 'textarea');
  $add_8(this.focusableTypes, 'option');
  $add_8(this.focusableTypes, 'button');
  $add_8(this.focusableTypes, 'label');
  this.nonBubblingEvents = new HashSet_0;
  $add_8(this.nonBubblingEvents, 'focus');
  $add_8(this.nonBubblingEvents, 'blur');
  $add_8(this.nonBubblingEvents, 'load');
  $add_8(this.nonBubblingEvents, 'error');
}

function CellBasedWidgetImplStandardBase(){
}

_ = CellBasedWidgetImplStandardBase_0.prototype = CellBasedWidgetImplStandardBase.prototype = new CellBasedWidgetImplStandard;
_.getClass$ = function getClass_229(){
  return Lcom_google_gwt_user_cellview_client_CellBasedWidgetImplStandardBase_2_classLit;
}
;
function $ensureTableColElement(this$static, index){
  var i;
  for (i = this$static.colgroup.childNodes.length; i <= index; ++i) {
    $appendChild(this$static.colgroup, $doc.createElement('col'));
  }
  return $getChild(this$static.colgroup, index);
}

function $refreshColumnWidths_0(this$static){
  var colCount, i;
  $refreshColumnWidths(this$static);
  colCount = this$static.colgroup.childNodes.length;
  for (i = this$static.columns.size; i < colCount; ++i) {
    $ensureTableColElement(this$static, i).style['width'] = '0px';
  }
}

function CellTable_0(){
  var loadingImg;
  CellTable_1.call(this, (loadingImg = ($clinit_CellTable_Resources_default_InlineClientBundleGenerator$cellTableLoadingInitializer() , cellTableLoading) , !loadingImg?null:new Image_1(loadingImg)));
}

function CellTable_1(loadingIndicator){
  var eventTypes, tr;
  AbstractCellTable_0.call(this, $doc.createElement('table'), new CellTable$ResourcesAdapter_0);
  this.emptyTableWidgetContainer = new SimplePanel_0;
  this.loadingIndicatorContainer = new SimplePanel_0;
  this.messagesPanel = new DeckPanel_0;
  this.style_0 = ($clinit_CellTable_Resources_default_InlineClientBundleGenerator$cellTableStyleInitializer() , cellTableStyle);
  $ensureInjected(this.style_0);
  this.table = this.element;
  this.table.cellSpacing = 0;
  this.colgroup = $doc.createElement('colgroup');
  $appendChild(this.table, this.colgroup);
  this.thead = this.table.createTHead();
  if (this.table.tBodies.length > 0) {
    this.tbody = this.table.tBodies[0];
  }
   else {
    this.tbody = $doc.createElement('tbody');
    $appendChild(this.table, this.tbody);
  }
  $appendChild(this.table, this.tbodyLoading = $doc.createElement('tbody'));
  this.tfoot = this.table.createTFoot();
  $setStyleName(this, 'GPBYFDEGE');
  this.tbodyLoadingCell = $doc.createElement('td');
  tr = $doc.createElement('tr');
  $appendChild(this.tbodyLoading, tr);
  $appendChild(tr, this.tbodyLoadingCell);
  this.tbodyLoadingCell.align = 'center';
  $appendChild(this.tbodyLoadingCell, this.messagesPanel.element);
  this.messagesPanel.setParent(this);
  $add_3(this.messagesPanel, this.emptyTableWidgetContainer);
  $add_3(this.messagesPanel, this.loadingIndicatorContainer);
  $setStyleName(this.loadingIndicatorContainer, 'GPBYFDEOD');
  this.loadingIndicatorContainer.setWidget(loadingIndicator);
  eventTypes = new HashSet_0;
  $add_8(eventTypes, 'mouseover');
  $add_8(eventTypes, 'mouseout');
  $sinkEvents_0((!impl_1 && (impl_1 = new CellBasedWidgetImplStandardBase_0) , impl_1), this, eventTypes);
}

function CellTable(){
}

_ = CellTable.prototype = new AbstractCellTable;
_.doSetHeaderVisible = function doSetHeaderVisible(isFooter, isVisible){
  setVisible(isFooter?this.tfoot:this.thead, isVisible);
}
;
_.getClass$ = function getClass_230(){
  return Lcom_google_gwt_user_cellview_client_CellTable_2_classLit;
}
;
_.getTableBodyElement = function getTableBodyElement(){
  return this.tbody;
}
;
_.getTableFootElement = function getTableFootElement(){
  return this.tfoot;
}
;
_.getTableHeadElement = function getTableHeadElement(){
  return this.thead;
}
;
_.onLoadingStateChanged = function onLoadingStateChanged_0(state){
  var message;
  message = null;
  state == ($clinit_LoadingStateChangeEvent$LoadingState() , LOADING)?(message = this.loadingIndicatorContainer):state == LOADED && $isEmpty(this.presenter) && (message = this.emptyTableWidgetContainer);
  !!message && $showWidget(this.messagesPanel, $getWidgetIndex(this.messagesPanel, message));
  $setColSpan(this.tbodyLoadingCell, max(1, this.columns.size));
  $showOrHide(this.tbody, !message);
  $showOrHide(this.tbodyLoading, !!message);
  $fireEvent_0(this, new LoadingStateChangeEvent_0);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget, Q$HasData]);
_.colgroup = null;
_.style_0 = null;
_.table = null;
_.tbody = null;
_.tbodyLoading = null;
_.tbodyLoadingCell = null;
_.tfoot = null;
_.thead = null;
var DEFAULT_RESOURCES = null;
function CellTable$ResourcesAdapter_0(){
  $clinit_CellTable_Resources_default_InlineClientBundleGenerator$cellTableStyleInitializer();
}

function CellTable$ResourcesAdapter(){
}

_ = CellTable$ResourcesAdapter_0.prototype = CellTable$ResourcesAdapter.prototype = new Object_0;
_.getClass$ = function getClass_231(){
  return Lcom_google_gwt_user_cellview_client_CellTable$ResourcesAdapter_2_classLit;
}
;
function CellTable_Resources_default_InlineClientBundleGenerator_0(){
}

function CellTable_Resources_default_InlineClientBundleGenerator(){
}

_ = CellTable_Resources_default_InlineClientBundleGenerator_0.prototype = CellTable_Resources_default_InlineClientBundleGenerator.prototype = new Object_0;
_.getClass$ = function getClass_232(){
  return Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator_2_classLit;
}
;
var cellTableLoading = null, cellTableStyle = null;
function $ensureInjected(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    $clinit_StyleInjector();
    $push(toInject, '.GPBYFDEED{border-top:2px solid #6f7277;padding:3px 15px;text-align:left;color:#4b4a4a;text-shadow:#ddf 1px 1px 0;overflow:hidden;}.GPBYFDEFD{border-bottom:2px solid #6f7277;padding:3px 15px;text-align:left;color:#4b4a4a;text-shadow:#ddf 1px 1px 0;overflow:hidden;}.GPBYFDEOC{padding:2px 15px;overflow:hidden;}.GPBYFDEDE{cursor:pointer;cursor:hand;}.GPBYFDEDE:hover{color:#6c6b6b;}.GPBYFDEPC{background:#fff;}.GPBYFDEAD{border:2px solid #fff;}.GPBYFDEPD{background:#f3f7fb;}.GPBYFDEAE{border:2px solid #f3f7fb;}.GPBYFDEGD{background:#eee;}.GPBYFDEHD{border:2px solid #eee;}.GPBYFDEJD{background:#ffc;}.GPBYFDEKD{border:2px solid #ffc;}.GPBYFDEBE{background:#628cd5;color:white;height:auto;overflow:auto;}.GPBYFDECE{border:2px solid #628cd5;}.GPBYFDEID{border:2px solid #d7dde8;}.GPBYFDEOD{margin:30px;}');
    schedule();
    return true;
  }
  return false;
}

function CellTable_Resources_default_InlineClientBundleGenerator$1_0(){
}

function CellTable_Resources_default_InlineClientBundleGenerator$1(){
}

_ = CellTable_Resources_default_InlineClientBundleGenerator$1_0.prototype = CellTable_Resources_default_InlineClientBundleGenerator$1.prototype = new Object_0;
_.getClass$ = function getClass_233(){
  return Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator$1_2_classLit;
}
;
_.injected = false;
function $clinit_CellTable_Resources_default_InlineClientBundleGenerator$cellTableLoadingInitializer(){
  $clinit_CellTable_Resources_default_InlineClientBundleGenerator$cellTableLoadingInitializer = nullMethod;
  cellTableLoading = new ImageResourcePrototype_0(($clinit_UriUtils() , new SafeUriString_0('')));
}

function $clinit_CellTable_Resources_default_InlineClientBundleGenerator$cellTableStyleInitializer(){
  $clinit_CellTable_Resources_default_InlineClientBundleGenerator$cellTableStyleInitializer = nullMethod;
  cellTableStyle = new CellTable_Resources_default_InlineClientBundleGenerator$1_0;
}

function Column_0(cell){
  this.cell = cell;
}

function Column(){
}

_ = Column.prototype = new Object_0;
_.getClass$ = function getClass_234(){
  return Lcom_google_gwt_user_cellview_client_Column_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Column]);
_.cell = null;
var TYPE_14 = null;
function ColumnSortEvent$ListHandler(){
}

_ = ColumnSortEvent$ListHandler.prototype = new Object_0;
_.getClass$ = function getClass_235(){
  return Lcom_google_gwt_user_cellview_client_ColumnSortEvent$ListHandler_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler]);
function ColumnSortList_0(){
  this.infos = new ArrayList_0;
}

function ColumnSortList(){
}

_ = ColumnSortList_0.prototype = ColumnSortList.prototype = new Object_0;
_.equals$ = function equals_7(obj){
  var other;
  if (obj === this) {
    return true;
  }
   else if (!instanceOf(obj, Q$ColumnSortList)) {
    return false;
  }
  other = dynamicCast(obj, Q$ColumnSortList);
  return $equals_0(this.infos, other.infos);
}
;
_.getClass$ = function getClass_236(){
  return Lcom_google_gwt_user_cellview_client_ColumnSortList_2_classLit;
}
;
_.hashCode$ = function hashCode_9(){
  return 31 * $hashCode_0(this.infos) + 13;
}
;
_.castableTypeMap$ = makeCastMap([Q$ColumnSortList]);
function $addCellPreviewHandler_0(this$static, handler){
  return $addHandler_1(this$static.view, handler, (!TYPE_18 && (TYPE_18 = new GwtEvent$Type_0) , TYPE_18));
}

function $addRangeChangeHandler_0(this$static, handler){
  return $addHandler_1(this$static.view, handler, (!TYPE_19 && (TYPE_19 = new GwtEvent$Type_0) , TYPE_19));
}

function $addRowCountChangeHandler_0(this$static, handler){
  return $addHandler_1(this$static.view, handler, (!TYPE_20 && (TYPE_20 = new GwtEvent$Type_0) , TYPE_20));
}

function $calculateModifiedRanges(modifiedRows, pageStart, pageEnd){
  var diff, index, index$iterator, maxDiff, rangeEnd0, rangeEnd1, rangeLength0, rangeLength1, rangeStart0, rangeStart1, toRet;
  rangeStart0 = -1;
  rangeEnd0 = -1;
  rangeStart1 = -1;
  rangeEnd1 = -1;
  maxDiff = 0;
  for (index$iterator = $iterator($keySet(modifiedRows.map)); index$iterator.val$outerIter.hasNext();) {
    index = dynamicCast($next_2(index$iterator), Q$Integer).value;
    if (index < pageStart || index >= pageEnd) {
      continue;
    }
     else if (rangeStart0 == -1) {
      rangeStart0 = index;
      rangeEnd0 = index;
    }
     else if (rangeStart1 == -1) {
      maxDiff = index - rangeEnd0;
      rangeStart1 = index;
      rangeEnd1 = index;
    }
     else {
      diff = index - rangeEnd1;
      if (diff > maxDiff) {
        rangeEnd0 = rangeEnd1;
        rangeStart1 = index;
        rangeEnd1 = index;
        maxDiff = diff;
      }
       else {
        rangeEnd1 = index;
      }
    }
  }
  rangeEnd0 += 1;
  rangeEnd1 += 1;
  if (rangeStart1 == rangeEnd0) {
    rangeEnd0 = rangeEnd1;
    rangeStart1 = -1;
    rangeEnd1 = -1;
  }
  toRet = new ArrayList_0;
  if (rangeStart0 != -1) {
    rangeLength0 = rangeEnd0 - rangeStart0;
    $add_1(toRet, new Range_1(rangeStart0, rangeLength0));
  }
  if (rangeStart1 != -1) {
    rangeLength1 = rangeEnd1 - rangeStart1;
    $add_1(toRet, new Range_1(rangeStart1, rangeLength1));
  }
  return toRet;
}

function $clearSelectionModel(this$static){
  if (this$static.selectionHandler) {
    $removeHandler(this$static.selectionHandler.real);
    this$static.selectionHandler = null;
  }
  this$static.selectionModel = null;
}

function $ensurePendingState(this$static){
  !this$static.pendingState && (this$static.pendingState = new HasDataPresenter$PendingState_0(this$static.state));
  this$static.pendingStateCommand = new HasDataPresenter$2_0(this$static);
  $scheduleFinally_0(this$static.pendingStateCommand);
  return this$static.pendingState;
}

function $findIndexOfBestMatch(state, value, initialIndex){
  var bestMatchDiff, bestMatchIndex, curValue, diff, i, rowDataCount;
  if (value == null) {
    return -1;
  }
  bestMatchIndex = -1;
  bestMatchDiff = 2147483647;
  rowDataCount = state.rowData.size;
  for (i = 0; i < rowDataCount; ++i) {
    curValue = $get(state.rowData, i);
    if (equals__devirtual$(value, curValue)) {
      diff = initialIndex - i < 0?-(initialIndex - i):initialIndex - i;
      if (diff < bestMatchDiff) {
        bestMatchIndex = i;
        bestMatchDiff = diff;
      }
    }
  }
  return bestMatchIndex;
}

function $flush(this$static){
  while (!!this$static.pendingStateCommand && !this$static.isResolvingState) {
    $resolvePendingState(this$static);
  }
}

function $getCurrentState(this$static){
  return !this$static.pendingState?this$static.state:this$static.pendingState;
}

function $getKeyboardSelectedRow(this$static){
  return ($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow;
}

function $getKeyboardSelectedRowInView(this$static){
  return ($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy?-1:this$static.state.keyboardSelectedRow;
}

function $getVisibleItem(this$static, indexOnPage){
  return $getRowDataValue(!this$static.pendingState?this$static.state:this$static.pendingState, indexOnPage);
}

function $getVisibleItemCount(this$static){
  return (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size;
}

function $getVisibleRange(this$static){
  return new Range_1((!this$static.pendingState?this$static.state:this$static.pendingState).pageStart, (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize);
}

--></script>
<script><!--
function $hasKeyboardNext(this$static){
  if (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy) {
    return false;
  }
   else if ((DISABLED == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) < (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size - 1) {
    return true;
  }
   else if (!this$static.keyboardPagingPolicy.isLimitedToRange && ((DISABLED == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) + (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart < (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - 1 || !(!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact)) {
    return true;
  }
  return false;
}

function $hasKeyboardPrev(this$static){
  if (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy) {
    return false;
  }
   else if ((DISABLED == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) > 0) {
    return true;
  }
   else if (!this$static.keyboardPagingPolicy.isLimitedToRange && (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart > 0) {
    return true;
  }
  return false;
}

function $isEmpty(this$static){
  return (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact && (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount == 0;
}

function $keyboardEnd(this$static){
  this$static.keyboardPagingPolicy.isLimitedToRange || $setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - 1, true, false);
}

function $keyboardHome(this$static){
  this$static.keyboardPagingPolicy.isLimitedToRange || $setKeyboardSelectedRow(this$static, -(!this$static.pendingState?this$static.state:this$static.pendingState).pageStart, true, false);
}

function $keyboardNext(this$static){
  $hasKeyboardNext(this$static) && $setKeyboardSelectedRow(this$static, (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) + 1, true, false);
}

function $keyboardNextPage(this$static){
  ($clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy() , CHANGE_PAGE) == this$static.keyboardPagingPolicy?$setKeyboardSelectedRow(this$static, (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, true, false):INCREASE_RANGE == this$static.keyboardPagingPolicy && $setKeyboardSelectedRow(this$static, (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) + 30, true, false);
}

function $keyboardPrev(this$static){
  $hasKeyboardPrev(this$static) && $setKeyboardSelectedRow(this$static, (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) - 1, true, false);
}

function $keyboardPrevPage(this$static){
  ($clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy() , CHANGE_PAGE) == this$static.keyboardPagingPolicy?$setKeyboardSelectedRow(this$static, -(!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, true, false):INCREASE_RANGE == this$static.keyboardPagingPolicy && $setKeyboardSelectedRow(this$static, (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) - 30, true, false);
}

function $redraw(this$static){
  this$static.lastContents = null;
  $ensurePendingState(this$static).redrawRequired = true;
}

function $resolvePendingState(this$static){
  var $e0, absStart, bestMatchIndex, e, i, isSelected, keyboardRowChanged, length_0, modifiedRanges, modifiedRows, newContents, newSelectedRow, newValue, newValueWasSelected, oldPageSize, oldPageStart, oldRowDataCount, oldSelectedRow, oldState, oldValue, oldValueWasSelected, pageEnd, pageSize, pageStart, pending, range, range$iterator, range0, range1, redrawRequired, relStart, replaceDiff, replaceValues, replacedEmptyRange, replacedRange, replacedRange$iterator, rowDataCount, rowValue, sb, start, wasSelected, cacheSize, curPageSize;
  this$static.pendingStateCommand = null;
  if (!this$static.pendingState) {
    this$static.pendingStateLoop = 0;
    return;
  }
  ++this$static.pendingStateLoop;
  if (this$static.pendingStateLoop > 10) {
    this$static.pendingStateLoop = 0;
    throw new IllegalStateException_1('A possible infinite loop has been detected in a Cell Widget. This usually happens when your SelectionModel triggers a SelectionChangeEvent when SelectionModel.isSelection() is called, which causes the table to redraw continuously.');
  }
  if (this$static.isResolvingState) {
    throw new IllegalStateException_1('The Cell Widget is attempting to render itself within the render loop. This usually happens when your render code modifies the state of the Cell Widget then accesses data or elements within the Widget.');
  }
  this$static.isResolvingState = true;
  modifiedRows = new TreeSet_0;
  oldState = this$static.state;
  pending = this$static.pendingState;
  pageStart = pending.pageStart;
  pageSize = pending.pageSize;
  pageEnd = pageStart + pageSize;
  rowDataCount = pending.rowData.size;
  pending.keyboardSelectedRow = max(0, min(pending.keyboardSelectedRow, rowDataCount - 1));
  if (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy) {
    pending.keyboardSelectedRow = 0;
    pending.keyboardSelectedRowValue = null;
  }
   else if (pending.keyboardSelectedRowChanged) {
    pending.keyboardSelectedRowValue = rowDataCount > 0?$getRowDataValue(pending, pending.keyboardSelectedRow):null;
  }
   else if (pending.keyboardSelectedRowValue != null) {
    bestMatchIndex = $findIndexOfBestMatch(pending, pending.keyboardSelectedRowValue, pending.keyboardSelectedRow);
    if (bestMatchIndex >= 0) {
      pending.keyboardSelectedRow = bestMatchIndex;
      pending.keyboardSelectedRowValue = rowDataCount > 0?$getRowDataValue(pending, pending.keyboardSelectedRow):null;
    }
     else {
      pending.keyboardSelectedRow = 0;
      pending.keyboardSelectedRowValue = null;
    }
  }
  try {
    if (BOUND_TO_SELECTION == this$static.keyboardSelectionPolicy && !!this$static.selectionModel && pending.viewTouched) {
      oldValue = oldState.selectedValue;
      newValue = rowDataCount > 0?$getRowDataValue(pending, pending.keyboardSelectedRow):null;
      if (newValue != null && !equals__devirtual$(newValue, oldValue)) {
        oldValueWasSelected = oldValue != null && $isSelected(this$static.selectionModel, oldValue);
        newValueWasSelected = newValue != null && $isSelected(this$static.selectionModel, newValue);
        oldValueWasSelected && $setSelected(this$static.selectionModel, oldValue, false);
        pending.selectedValue = newValue;
        newValue != null && !newValueWasSelected && $setSelected(this$static.selectionModel, newValue, true);
      }
    }
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$RuntimeException)) {
      e = $e0;
      this$static.isResolvingState = false;
      throw e;
    }
     else 
      throw $e0;
  }
  keyboardRowChanged = pending.keyboardSelectedRowChanged || oldState.keyboardSelectedRow != pending.keyboardSelectedRow || oldState.keyboardSelectedRowValue == null && pending.keyboardSelectedRowValue != null;
  for (i = pageStart; i < pageStart + rowDataCount; ++i) {
    rowValue = $get(pending.rowData, i - pageStart);
    isSelected = rowValue != null && !!this$static.selectionModel && $isSelected(this$static.selectionModel, rowValue);
    wasSelected = $contains(oldState.selectedRows, valueOf_1(i));
    if (isSelected) {
      $add_8(pending.selectedRows, valueOf_1(i));
      wasSelected || $add_9(modifiedRows, valueOf_1(i));
    }
     else 
      wasSelected && $add_9(modifiedRows, valueOf_1(i));
  }
  if (this$static.pendingStateCommand) {
    this$static.isResolvingState = false;
    return;
  }
  this$static.pendingStateLoop = 0;
  this$static.state = this$static.pendingState;
  this$static.pendingState = null;
  replacedEmptyRange = false;
  for (replacedRange$iterator = new AbstractList$IteratorImpl_0(pending.replacedRanges); replacedRange$iterator.i < replacedRange$iterator.this$0_0.size_0();) {
    replacedRange = dynamicCast($next_1(replacedRange$iterator), Q$Range);
    start = replacedRange.start;
    length_0 = replacedRange.length_0;
    length_0 == 0 && (replacedEmptyRange = true);
    for (i = start; i < start + length_0; ++i) {
      $add_9(modifiedRows, valueOf_1(i));
    }
  }
  if (modifiedRows.map.size > 0 && keyboardRowChanged) {
    $add_9(modifiedRows, valueOf_1(oldState.keyboardSelectedRow));
    $add_9(modifiedRows, valueOf_1(pending.keyboardSelectedRow));
  }
  modifiedRanges = $calculateModifiedRanges(modifiedRows, pageStart, pageEnd);
  range0 = modifiedRanges.size > 0?dynamicCast((checkIndex(0, modifiedRanges.size) , modifiedRanges.array[0]), Q$Range):null;
  range1 = modifiedRanges.size > 1?dynamicCast((checkIndex(1, modifiedRanges.size) , modifiedRanges.array[1]), Q$Range):null;
  replaceDiff = 0;
  for (range$iterator = new AbstractList$IteratorImpl_0(modifiedRanges); range$iterator.i < range$iterator.this$0_0.size_0();) {
    range = dynamicCast($next_1(range$iterator), Q$Range);
    replaceDiff += range.length_0;
  }
  oldPageStart = oldState.pageStart;
  oldPageSize = oldState.pageSize;
  oldRowDataCount = oldState.rowData.size;
  redrawRequired = pending.redrawRequired;
  pageStart != oldPageStart?(redrawRequired = true):rowDataCount < oldRowDataCount?(redrawRequired = true):!range1 && !!range0 && range0.start == pageStart && (replaceDiff >= oldRowDataCount || replaceDiff > oldPageSize)?(redrawRequired = true):replaceDiff >= 5 && replaceDiff > 0.3 * oldRowDataCount?(redrawRequired = true):replacedEmptyRange && oldRowDataCount == 0 && (redrawRequired = true);
  cacheSize = (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size;
  curPageSize = (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact?min((!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart):(!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  cacheSize >= curPageSize?$setLoadingState(this$static.view, ($clinit_LoadingStateChangeEvent$LoadingState() , LOADED)):cacheSize == 0?$setLoadingState(this$static.view, ($clinit_LoadingStateChangeEvent$LoadingState() , LOADING)):$setLoadingState(this$static.view, ($clinit_LoadingStateChangeEvent$LoadingState() , PARTIALLY_LOADED));
  try {
    if (redrawRequired) {
      sb = new SafeHtmlBuilder_0;
      $render_1(this$static.view, sb, pending.rowData, pending.pageStart, this$static.selectionModel);
      newContents = new SafeHtmlString_0(sb.sb.impl.string);
      if (!$equals(newContents, this$static.lastContents)) {
        this$static.lastContents = newContents;
        $replaceAllChildren(this$static.view, pending.rowData, newContents, pending.keyboardStealFocus);
      }
      $resetFocus(this$static.view);
    }
     else if (range0) {
      this$static.lastContents = null;
      absStart = range0.start;
      relStart = absStart - pageStart;
      sb = new SafeHtmlBuilder_0;
      replaceValues = new AbstractList$SubList_0(pending.rowData, relStart, relStart + range0.length_0);
      $render_1(this$static.view, sb, replaceValues, absStart, this$static.selectionModel);
      $replaceChildren_0(this$static.view, relStart, new SafeHtmlString_0(sb.sb.impl.string), pending.keyboardStealFocus);
      if (range1) {
        absStart = range1.start;
        relStart = absStart - pageStart;
        sb = new SafeHtmlBuilder_0;
        replaceValues = new AbstractList$SubList_0(pending.rowData, relStart, relStart + range1.length_0);
        $render_1(this$static.view, sb, replaceValues, absStart, this$static.selectionModel);
        $replaceChildren_0(this$static.view, relStart, new SafeHtmlString_0(sb.sb.impl.string), pending.keyboardStealFocus);
      }
      $resetFocus(this$static.view);
    }
     else if (keyboardRowChanged) {
      oldSelectedRow = oldState.keyboardSelectedRow;
      oldSelectedRow >= 0 && oldSelectedRow < rowDataCount && $setKeyboardSelected(this$static.view, oldSelectedRow, false, false);
      newSelectedRow = pending.keyboardSelectedRow;
      newSelectedRow >= 0 && newSelectedRow < rowDataCount && $setKeyboardSelected(this$static.view, newSelectedRow, true, pending.keyboardStealFocus);
    }
  }
   finally {
    this$static.isResolvingState = false;
  }
}

function $scheduleFinally_0(command){
  $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), command);
}

function $setKeyboardPagingPolicy_0(this$static, policy){
  if (!policy) {
    throw new NullPointerException_1('KeyboardPagingPolicy cannot be null');
  }
  this$static.keyboardPagingPolicy = policy;
}

function $setKeyboardSelectedRow(this$static, index, stealFocus, forceUpdate){
  var absIndex, newPageSize, newPageStart, pageSize, pageStart, pending, rowCount;
  if (($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , DISABLED) == this$static.keyboardSelectionPolicy) {
    return;
  }
  $ensurePendingState(this$static).viewTouched = true;
  if (!forceUpdate && (DISABLED == this$static.keyboardSelectionPolicy?-1:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRow) == index && (DISABLED == this$static.keyboardSelectionPolicy?null:(!this$static.pendingState?this$static.state:this$static.pendingState).keyboardSelectedRowValue) != null) {
    return;
  }
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  pageSize = (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  rowCount = (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount;
  absIndex = pageStart + index;
  absIndex >= rowCount && (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact && (absIndex = rowCount - 1);
  index = (0 > absIndex?0:absIndex) - pageStart;
  this$static.keyboardPagingPolicy.isLimitedToRange && (index = 0 > (index < pageSize - 1?index:pageSize - 1)?0:index < pageSize - 1?index:pageSize - 1);
  newPageStart = pageStart;
  newPageSize = pageSize;
  pending = $ensurePendingState(this$static);
  pending.keyboardSelectedRow = 0;
  pending.keyboardSelectedRowValue = null;
  pending.keyboardSelectedRowChanged = true;
  if (index >= 0 && index < pageSize) {
    pending.keyboardSelectedRow = index;
    pending.keyboardSelectedRowValue = index < pending.rowData.size?$getRowDataValue($ensurePendingState(this$static), index):null;
    pending.keyboardStealFocus = stealFocus;
    return;
  }
   else if (($clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy() , CHANGE_PAGE) == this$static.keyboardPagingPolicy) {
    while (index < 0) {
      newPageStart -= pageSize;
      index += pageSize;
    }
    while (index >= pageSize) {
      newPageStart += pageSize;
      index -= pageSize;
    }
  }
   else if (INCREASE_RANGE == this$static.keyboardPagingPolicy) {
    while (index < 0) {
      newPageSize += 30;
      newPageStart -= 30;
      index += 30;
    }
    if (newPageStart < 0) {
      index += newPageStart;
      newPageSize += newPageStart;
      newPageStart = 0;
    }
    while (index >= newPageSize) {
      newPageSize += 30;
    }
    if ((!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact) {
      newPageSize = newPageSize < rowCount - newPageStart?newPageSize:rowCount - newPageStart;
      index >= rowCount && (index = rowCount - 1);
    }
  }
  if (newPageStart != pageStart || newPageSize != pageSize) {
    pending.keyboardSelectedRow = index;
    $setVisibleRange_0(this$static, new Range_1(newPageStart, newPageSize), false);
  }
}

function $setKeyboardSelectionPolicy_0(this$static, policy){
  if (!policy) {
    throw new NullPointerException_1('KeyboardSelectionPolicy cannot be null');
  }
  this$static.keyboardSelectionPolicy = policy;
}

function $setRowCount_0(this$static, count, isExact){
  if (count == (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount && isExact == (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact) {
    return;
  }
  $ensurePendingState(this$static).rowCount = count;
  $ensurePendingState(this$static).rowCountIsExact = isExact;
  $updateCachedData(this$static);
  fire_7(this$static.display_0);
}

function $setRowData(this$static, start, values){
  var boundedEnd, boundedStart, cacheOffset, dataIndex, i, pageEnd, pageStart, pending, value, valuesEnd, valuesLength;
  valuesLength = values.size_0();
  valuesEnd = start + valuesLength;
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  pageEnd = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart + (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  boundedStart = start > pageStart?start:pageStart;
  boundedEnd = valuesEnd < pageEnd?valuesEnd:pageEnd;
  if (start != pageStart && boundedStart >= boundedEnd) {
    return;
  }
  pending = $ensurePendingState(this$static);
  cacheOffset = max(0, boundedStart - pageStart - (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size);
  for (i = 0; i < cacheOffset; ++i) {
    $add_1(pending.rowData, null);
  }
  for (i = boundedStart; i < boundedEnd; ++i) {
    value = values.get(i - start);
    dataIndex = i - pageStart;
    dataIndex < (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size?$set(pending.rowData, dataIndex, value):$add_1(pending.rowData, value);
  }
  $add_1(pending.replacedRanges, new Range_1(boundedStart - cacheOffset, boundedEnd - (boundedStart - cacheOffset)));
  valuesEnd > (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount && $setRowCount_0(this$static, valuesEnd, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCountIsExact);
}

function $setSelectionModel(this$static, selectionModel){
  $clearSelectionModel(this$static);
  this$static.selectionModel = selectionModel;
  !!selectionModel && (this$static.selectionHandler = $addSelectionChangeHandler(selectionModel, new HasDataPresenter$1_0(this$static)));
  $ensurePendingState(this$static);
}

function $setVisibleRange_0(this$static, range, clearData){
  var decrease, i, increase, length_0, pageSize, pageSizeChanged, pageStart, pageStartChanged, pending, start;
  start = range.start;
  length_0 = range.length_0;
  if (start < 0) {
    throw new IllegalArgumentException_1('Range start cannot be less than 0');
  }
  if (length_0 < 0) {
    throw new IllegalArgumentException_1('Range length cannot be less than 0');
  }
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  pageSize = (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize;
  pageStartChanged = pageStart != start;
  if (pageStartChanged) {
    pending = $ensurePendingState(this$static);
    if (!clearData) {
      if (start > pageStart) {
        increase = start - pageStart;
        if ((!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size > increase) {
          for (i = 0; i < increase; ++i) {
            $remove_1(pending.rowData, 0);
          }
        }
         else {
          $clear(pending.rowData);
        }
      }
       else {
        decrease = pageStart - start;
        if ((!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size > 0 && decrease < pageSize) {
          for (i = 0; i < decrease; ++i) {
            $add_2(pending.rowData, 0, null);
          }
          $add_1(pending.replacedRanges, new Range_1(start, start + decrease - start));
        }
         else {
          $clear(pending.rowData);
        }
      }
    }
    pending.pageStart = start;
  }
  pageSizeChanged = pageSize != length_0;
  pageSizeChanged && ($ensurePendingState(this$static).pageSize = length_0);
  clearData && $clear($ensurePendingState(this$static).rowData);
  $updateCachedData(this$static);
  (pageStartChanged || pageSizeChanged) && fire_6(this$static.display_0, new Range_1((!this$static.pendingState?this$static.state:this$static.pendingState).pageStart, (!this$static.pendingState?this$static.state:this$static.pendingState).pageSize));
}

function $updateCachedData(this$static){
  var expectedLastIndex, lastIndex, pageStart;
  pageStart = (!this$static.pendingState?this$static.state:this$static.pendingState).pageStart;
  expectedLastIndex = max(0, min((!this$static.pendingState?this$static.state:this$static.pendingState).pageSize, (!this$static.pendingState?this$static.state:this$static.pendingState).rowCount - pageStart));
  lastIndex = (!this$static.pendingState?this$static.state:this$static.pendingState).rowData.size - 1;
  while (lastIndex >= expectedLastIndex) {
    $remove_1($ensurePendingState(this$static).rowData, lastIndex);
    --lastIndex;
  }
}

function HasDataPresenter_0(display, view){
  this.keyboardPagingPolicy = ($clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy() , CHANGE_PAGE);
  this.keyboardSelectionPolicy = ($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , ENABLED);
  this.display_0 = display;
  this.view = view;
  this.state = new HasDataPresenter$DefaultState_0(15);
}

function HasDataPresenter(){
}

_ = HasDataPresenter_0.prototype = HasDataPresenter.prototype = new Object_0;
_.fireEvent = function fireEvent_1(event_0){
  throw new UnsupportedOperationException_0;
}
;
_.getClass$ = function getClass_237(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter_2_classLit;
}
;
_.getVisibleRange = function getVisibleRange_0(){
  return $getVisibleRange(this);
}
;
_.setRowCount = function setRowCount_0(count, isExact){
  $setRowCount_0(this, count, isExact);
}
;
_.setRowData = function setRowData_0(start, values){
  $setRowData(this, start, values);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers, Q$HasData]);
_.display_0 = null;
_.isResolvingState = false;
_.lastContents = null;
_.pendingState = null;
_.pendingStateCommand = null;
_.pendingStateLoop = 0;
_.selectionHandler = null;
_.selectionModel = null;
_.state = null;
_.view = null;
function HasDataPresenter$1_0(this$0){
  this.this$0 = this$0;
}

function HasDataPresenter$1(){
}

_ = HasDataPresenter$1_0.prototype = HasDataPresenter$1.prototype = new Object_0;
_.getClass$ = function getClass_238(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler, Q$HasDataPresenter$1, Q$SelectionChangeEvent$Handler]);
_.this$0 = null;
function HasDataPresenter$2_0(this$0){
  this.this$0 = this$0;
}

function HasDataPresenter$2(){
}

_ = HasDataPresenter$2_0.prototype = HasDataPresenter$2.prototype = new Object_0;
_.execute_1 = function execute_8(){
  this.this$0.pendingStateCommand == this && $resolvePendingState(this.this$0);
}
;
_.getClass$ = function getClass_239(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter$2_2_classLit;
}
;
_.this$0 = null;
function $getRowDataValue(this$static, index){
  return $get(this$static.rowData, index);
}

function HasDataPresenter$DefaultState_0(pageSize){
  this.rowData = new ArrayList_0;
  this.selectedRows = new HashSet_0;
  this.pageSize = pageSize;
}

function HasDataPresenter$DefaultState(){
}

_ = HasDataPresenter$DefaultState_0.prototype = HasDataPresenter$DefaultState.prototype = new Object_0;
_.getClass$ = function getClass_240(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter$DefaultState_2_classLit;
}
;
_.keyboardSelectedRow = 0;
_.keyboardSelectedRowValue = null;
_.pageSize = 0;
_.pageStart = 0;
_.rowCount = 0;
_.rowCountIsExact = false;
_.selectedValue = null;
_.viewTouched = false;
function HasDataPresenter$PendingState_0(state){
  var i, rowDataSize;
  HasDataPresenter$DefaultState_0.call(this, state.pageSize);
  this.replacedRanges = new ArrayList_0;
  this.keyboardSelectedRow = state.keyboardSelectedRow;
  this.keyboardSelectedRowValue = state.keyboardSelectedRowValue;
  this.pageSize = state.pageSize;
  this.pageStart = state.pageStart;
  this.rowCount = state.rowCount;
  this.rowCountIsExact = state.rowCountIsExact;
  this.selectedValue = state.selectedValue;
  this.viewTouched = state.viewTouched;
  rowDataSize = state.rowData.size;
  for (i = 0; i < rowDataSize; ++i) {
    $add_1(this.rowData, $get(state.rowData, i));
  }
}

function HasDataPresenter$PendingState(){
}

_ = HasDataPresenter$PendingState_0.prototype = HasDataPresenter$PendingState.prototype = new HasDataPresenter$DefaultState;
_.getClass$ = function getClass_241(){
  return Lcom_google_gwt_user_cellview_client_HasDataPresenter$PendingState_2_classLit;
}
;
_.keyboardSelectedRowChanged = false;
_.keyboardStealFocus = false;
_.redrawRequired = false;
function $clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy(){
  $clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy = nullMethod;
  CURRENT_PAGE = new HasKeyboardPagingPolicy$KeyboardPagingPolicy_0('CURRENT_PAGE', 0, true);
  CHANGE_PAGE = new HasKeyboardPagingPolicy$KeyboardPagingPolicy_0('CHANGE_PAGE', 1, false);
  INCREASE_RANGE = new HasKeyboardPagingPolicy$KeyboardPagingPolicy_0('INCREASE_RANGE', 2, false);
  $VALUES_26 = initValues(_3Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$HasKeyboardPagingPolicy$KeyboardPagingPolicy, [CURRENT_PAGE, CHANGE_PAGE, INCREASE_RANGE]);
}

function HasKeyboardPagingPolicy$KeyboardPagingPolicy_0(enum$name, enum$ordinal, isLimitedToRange){
  Enum_0.call(this, enum$name, enum$ordinal);
  this.isLimitedToRange = isLimitedToRange;
}

function values_27(){
  $clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy();
  return $VALUES_26;
}

function HasKeyboardPagingPolicy$KeyboardPagingPolicy(){
}

_ = HasKeyboardPagingPolicy$KeyboardPagingPolicy_0.prototype = HasKeyboardPagingPolicy$KeyboardPagingPolicy.prototype = new Enum;
_.getClass$ = function getClass_242(){
  return Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasKeyboardPagingPolicy$KeyboardPagingPolicy, Q$Serializable, Q$Comparable, Q$Enum]);
_.isLimitedToRange = false;
var $VALUES_26, CHANGE_PAGE, CURRENT_PAGE, INCREASE_RANGE;
function deserialize_33(streamReader, instance){
}

function instantiate_33(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy() , $clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy() , $VALUES_26);
  return values[ordinal];
}

function $clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy(){
  $clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy = nullMethod;
  DISABLED = new HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_0('DISABLED', 0);
  ENABLED = new HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_0('ENABLED', 1);
  BOUND_TO_SELECTION = new HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_0('BOUND_TO_SELECTION', 2);
  $VALUES_27 = initValues(_3Lcom_google_gwt_user_cellview_client_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$HasKeyboardSelectionPolicy$KeyboardSelectionPolicy, [DISABLED, ENABLED, BOUND_TO_SELECTION]);
}

function HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_28(){
  $clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy();
  return $VALUES_27;
}

function HasKeyboardSelectionPolicy$KeyboardSelectionPolicy(){
}

_ = HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_0.prototype = HasKeyboardSelectionPolicy$KeyboardSelectionPolicy.prototype = new Enum;
_.getClass$ = function getClass_243(){
  return Lcom_google_gwt_user_cellview_client_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasKeyboardSelectionPolicy$KeyboardSelectionPolicy, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_27, BOUND_TO_SELECTION, DISABLED, ENABLED;
function deserialize_34(streamReader, instance){
}

function instantiate_34(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , $clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , $VALUES_27);
  return values[ordinal];
}

function Header_0(cell){
  this.cell = cell;
}

function Header(){
}

_ = Header.prototype = new Object_0;
_.getClass$ = function getClass_244(){
  return Lcom_google_gwt_user_cellview_client_Header_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Header]);
_.cell = null;
function $clinit_LoadingStateChangeEvent(){
  $clinit_LoadingStateChangeEvent = nullMethod;
  TYPE_15 = new GwtEvent$Type_0;
}

--></script>
<script><!--
function LoadingStateChangeEvent_0(){
  $clinit_LoadingStateChangeEvent();
}

function LoadingStateChangeEvent(){
}

_ = LoadingStateChangeEvent_0.prototype = LoadingStateChangeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_14(handler){
  throwClassCastExceptionUnlessNull(handler);
  null.nullMethod();
}
;
_.getAssociatedType = function getAssociatedType_15(){
  return TYPE_15;
}
;
_.getClass$ = function getClass_245(){
  return Lcom_google_gwt_user_cellview_client_LoadingStateChangeEvent_2_classLit;
}
;
var TYPE_15;
function LoadingStateChangeEvent$DefaultLoadingState_0(){
}

function LoadingStateChangeEvent$DefaultLoadingState(){
}

_ = LoadingStateChangeEvent$DefaultLoadingState_0.prototype = LoadingStateChangeEvent$DefaultLoadingState.prototype = new Object_0;
_.getClass$ = function getClass_246(){
  return Lcom_google_gwt_user_cellview_client_LoadingStateChangeEvent$DefaultLoadingState_2_classLit;
}
;
function $clinit_LoadingStateChangeEvent$LoadingState(){
  $clinit_LoadingStateChangeEvent$LoadingState = nullMethod;
  LOADING = new LoadingStateChangeEvent$DefaultLoadingState_0;
  PARTIALLY_LOADED = new LoadingStateChangeEvent$DefaultLoadingState_0;
  LOADED = new LoadingStateChangeEvent$DefaultLoadingState_0;
}

var LOADED, LOADING, PARTIALLY_LOADED;
function $clinit_SimplePager$TextLocation(){
  $clinit_SimplePager$TextLocation = nullMethod;
  CENTER_0 = new SimplePager$TextLocation_0('CENTER', 0);
  LEFT_1 = new SimplePager$TextLocation_0('LEFT', 1);
  RIGHT_1 = new SimplePager$TextLocation_0('RIGHT', 2);
  $VALUES_28 = initValues(_3Lcom_google_gwt_user_cellview_client_SimplePager$TextLocation_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$SimplePager$TextLocation, [CENTER_0, LEFT_1, RIGHT_1]);
}

function SimplePager$TextLocation_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_29(){
  $clinit_SimplePager$TextLocation();
  return $VALUES_28;
}

function SimplePager$TextLocation(){
}

_ = SimplePager$TextLocation_0.prototype = SimplePager$TextLocation.prototype = new Enum;
_.getClass$ = function getClass_247(){
  return Lcom_google_gwt_user_cellview_client_SimplePager$TextLocation_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$SimplePager$TextLocation, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_28, CENTER_0, LEFT_1, RIGHT_1;
function deserialize_35(streamReader, instance){
}

function instantiate_35(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_SimplePager$TextLocation() , $clinit_SimplePager$TextLocation() , $VALUES_28);
  return values[ordinal];
}

function TextColumn(){
}

_ = TextColumn.prototype = new Column;
_.getClass$ = function getClass_248(){
  return Lcom_google_gwt_user_cellview_client_TextColumn_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Column]);
function TextHeader_0(text){
  Header_0.call(this, new TextCell_0);
  this.text = text;
}

function TextHeader(){
}

_ = TextHeader_0.prototype = TextHeader.prototype = new Header;
_.getClass$ = function getClass_249(){
  return Lcom_google_gwt_user_cellview_client_TextHeader_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Header]);
_.text = null;
function dispatchEvent_0(evt, elem, listener){
  var prevCurrentEvent;
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null);
  listener.onBrowserEvent(evt);
  currentEvent = prevCurrentEvent;
}

function previewEvent(evt){
  var ret;
  ret = fire_4(handlers_0, evt);
  if (!ret && !!evt) {
    evt.cancelBubble = true;
    evt.preventDefault();
  }
  return ret;
}

function releaseCapture(elem){
  !!sCaptureElem && elem == sCaptureElem && (sCaptureElem = null);
  $maybeInitializeEventSystem();
  elem === captureElem && (captureElem = null);
}

function setCapture(elem){
  sCaptureElem = elem;
  $maybeInitializeEventSystem();
  captureElem = elem;
}

function setStyleAttribute(elem, attr, value){
  elem.style[attr] = value;
}

function sinkBitlessEvent(elem, eventTypeName){
  $maybeInitializeEventSystem();
  $sinkBitlessEventImpl(elem, eventTypeName);
}

function sinkEvents(elem, eventBits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, eventBits);
}

var currentEvent = null, sCaptureElem = null;
function $onModuleLoad(){
  var allowedModes, currentMode, i, message, severity;
  severity = ($clinit_DocumentModeAsserter$Severity() , WARN);
  if (severity == IGNORE) {
    return;
  }
  currentMode = $doc.compatMode;
  allowedModes = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['CSS1Compat']);
  for (i = 0; i < allowedModes.length; ++i) {
    if ($equals_1(allowedModes[i], currentMode)) {
      return;
    }
  }
  allowedModes.length == 1 && $equals_1('CSS1Compat', allowedModes[0]) && $equals_1('BackCompat', currentMode)?(message = "GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/&gt;'):(message = "Your *.gwt.xml module configuration prohibits the use of the current doucment rendering mode (document.compatMode=' " + currentMode + "').<br>Modify your application's host HTML page doctype, or update your custom 'document.compatMode' configuration property settings.");
  if (severity == ERROR) {
    throw new RuntimeException_1(message);
  }
}

function $clinit_DocumentModeAsserter$Severity(){
  $clinit_DocumentModeAsserter$Severity = nullMethod;
  ERROR = new DocumentModeAsserter$Severity_0('ERROR', 0);
  IGNORE = new DocumentModeAsserter$Severity_0('IGNORE', 1);
  WARN = new DocumentModeAsserter$Severity_0('WARN', 2);
  $VALUES_29 = initValues(_3Lcom_google_gwt_user_client_DocumentModeAsserter$Severity_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$DocumentModeAsserter$Severity, [ERROR, IGNORE, WARN]);
}

function DocumentModeAsserter$Severity_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_30(){
  $clinit_DocumentModeAsserter$Severity();
  return $VALUES_29;
}

function DocumentModeAsserter$Severity(){
}

_ = DocumentModeAsserter$Severity_0.prototype = DocumentModeAsserter$Severity.prototype = new Enum;
_.getClass$ = function getClass_250(){
  return Lcom_google_gwt_user_client_DocumentModeAsserter$Severity_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$DocumentModeAsserter$Severity, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_29, ERROR, IGNORE, WARN;
function deserialize_36(streamReader, instance){
}

function instantiate_36(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_DocumentModeAsserter$Severity() , $clinit_DocumentModeAsserter$Severity() , $VALUES_29);
  return values[ordinal];
}

function addNativePreviewHandler(handler){
  $maybeInitializeEventSystem();
  !TYPE_16 && (TYPE_16 = new GwtEvent$Type_0);
  if (!handlers_0) {
    handlers_0 = new HandlerManager_1(null, true);
    singleton = new Event$NativePreviewEvent_0;
  }
  return $addHandler(handlers_0, TYPE_16, handler);
}

function sinkEvents_0(elem){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, 16384);
}

var handlers_0 = null;
function $revive(this$static){
  this$static.dead = false;
  this$static.source = null;
  this$static.isCanceled = false;
  this$static.isConsumed = false;
  this$static.isFirstHandler = true;
  this$static.nativeEvent = null;
}

function $setNativeEvent_0(this$static, nativeEvent){
  this$static.nativeEvent = nativeEvent;
}

function Event$NativePreviewEvent_0(){
}

function fire_4(handlers, nativeEvent){
  var lastIsCanceled, lastIsConsumed, lastIsFirstHandler, lastNativeEvent, ret;
  if (!!TYPE_16 && !!handlers && $isEventHandled(handlers, TYPE_16)) {
    lastIsCanceled = singleton.isCanceled;
    lastIsConsumed = singleton.isConsumed;
    lastIsFirstHandler = singleton.isFirstHandler;
    lastNativeEvent = singleton.nativeEvent;
    $revive(singleton);
    $setNativeEvent_0(singleton, nativeEvent);
    $fireEvent(handlers, singleton);
    ret = !(singleton.isCanceled && !singleton.isConsumed);
    singleton.isCanceled = lastIsCanceled;
    singleton.isConsumed = lastIsConsumed;
    singleton.isFirstHandler = lastIsFirstHandler;
    singleton.nativeEvent = lastNativeEvent;
    return ret;
  }
  return true;
}

function Event$NativePreviewEvent(){
}

_ = Event$NativePreviewEvent_0.prototype = Event$NativePreviewEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_15(handler){
  dynamicCast(handler, Q$Event$NativePreviewHandler).onPreviewNativeEvent(this);
  singleton.isFirstHandler = false;
}
;
_.getAssociatedType = function getAssociatedType_16(){
  return TYPE_16;
}
;
_.getClass$ = function getClass_251(){
  return Lcom_google_gwt_user_client_Event$NativePreviewEvent_2_classLit;
}
;
_.revive = function revive_0(){
  $revive(this);
}
;
_.isCanceled = false;
_.isConsumed = false;
_.isFirstHandler = false;
_.nativeEvent = null;
var TYPE_16 = null, singleton = null;
function $clinit_History(){
  $clinit_History = nullMethod;
  impl_2 = new HistoryImplSafari_0;
  $init(impl_2) || (impl_2 = null);
}

function addValueChangeHandler(handler){
  $clinit_History();
  return impl_2?$addValueChangeHandler(impl_2, handler):null;
}

var impl_2 = null;
function Timer$1_0(){
}

function Timer$1(){
}

_ = Timer$1_0.prototype = Timer$1.prototype = new Object_0;
_.getClass$ = function getClass_252(){
  return Lcom_google_gwt_user_client_Timer$1_2_classLit;
}
;
_.onClose = function onClose(event_0){
  while (($clinit_Timer() , timers).size > 0) {
    $cancel_0(dynamicCast($get(timers, 0), Q$Timer));
  }
}
;
_.castableTypeMap$ = makeCastMap([Q$CloseHandler, Q$EventHandler]);
function $getRuntimeValue(){
  var ua = navigator.userAgent.toLowerCase();
  var makeVersion = function(result){
    return parseInt(result[1]) * 1000 + parseInt(result[2]);
  }
  ;
  if (function(){
    return ua.indexOf('opera') != -1;
  }
  ())
    return 'opera';
  if (function(){
    return ua.indexOf('webkit') != -1 || function(){
      if (ua.indexOf('chromeframe') != -1) {
        return true;
      }
      if (typeof window['ActiveXObject'] != 'undefined') {
        try {
          var obj = new ActiveXObject('ChromeTab.ChromeFrame');
          if (obj) {
            obj.registerBhoIfNeeded();
            return true;
          }
        }
         catch (e) {
        }
      }
      return false;
    }
    ();
  }
  ())
    return 'safari';
  if (function(){
    return ua.indexOf('msie') != -1 && $doc.documentMode >= 9;
  }
  ())
    return 'ie9';
  if (function(){
    return ua.indexOf('msie') != -1 && $doc.documentMode >= 8;
  }
  ())
    return 'ie8';
  if (function(){
    var result = /msie ([0-9]+)\.([0-9]+)/.exec(ua);
    if (result && result.length == 3)
      return makeVersion(result) >= 6000;
  }
  ())
    return 'ie6';
  if (function(){
    return ua.indexOf('gecko') != -1;
  }
  ())
    return 'gecko1_8';
  return 'unknown';
}

function addCloseHandler(handler){
  maybeInitializeCloseHandlers();
  return addHandler(TYPE_11?TYPE_11:(TYPE_11 = new GwtEvent$Type_0), handler);
}

function addHandler(type, handler){
  return $addHandler((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1), type, handler);
}

function addResizeHandler(handler){
  maybeInitializeCloseHandlers();
  maybeInitializeResizeHandlers();
  return addHandler((!TYPE_12 && (TYPE_12 = new GwtEvent$Type_0) , TYPE_12), handler);
}

function maybeInitializeCloseHandlers(){
  if (!closeHandlersInitialized) {
    $initWindowCloseHandler();
    closeHandlersInitialized = true;
  }
}

function maybeInitializeResizeHandlers(){
  if (!resizeHandlersInitialized) {
    $initWindowResizeHandler();
    resizeHandlersInitialized = true;
  }
}

function onClosing(){
  var event_0;
  if (closeHandlersInitialized) {
    event_0 = new Window$ClosingEvent_0;
    !!handlers_1 && $fireEvent(handlers_1, event_0);
    return null;
  }
  return null;
}

function onResize_0(){
  var height, width;
  if (resizeHandlersInitialized) {
    width = $getClientWidth($doc);
    height = $getClientHeight($doc);
    if (lastResizeWidth != width || lastResizeHeight != height) {
      lastResizeWidth = width;
      lastResizeHeight = height;
      fire_2((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1), width);
    }
  }
}

var closeHandlersInitialized = false, handlers_1 = null, lastResizeHeight = 0, lastResizeWidth = 0, resizeHandlersInitialized = false;
function $clinit_Window$ClosingEvent(){
  $clinit_Window$ClosingEvent = nullMethod;
  TYPE_17 = new GwtEvent$Type_0;
}

function Window$ClosingEvent_0(){
  $clinit_Window$ClosingEvent();
}

function Window$ClosingEvent(){
}

_ = Window$ClosingEvent_0.prototype = Window$ClosingEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_16(handler){
  throwClassCastExceptionUnlessNull(handler);
  null.nullMethod();
}
;
_.getAssociatedType = function getAssociatedType_17(){
  return TYPE_17;
}
;
_.getClass$ = function getClass_253(){
  return Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit;
}
;
var TYPE_17;
function Window$WindowHandlers_0(){
  HandlerManager_0.call(this, null);
}

function Window$WindowHandlers(){
}

_ = Window$WindowHandlers_0.prototype = Window$WindowHandlers.prototype = new HandlerManager;
_.getClass$ = function getClass_254(){
  return Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers]);
function $eventGetTypeInt(eventType){
  switch (eventType) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'DOMMouseScroll':
    case 'mousewheel':
      return 131072;
    case 'contextmenu':
      return 262144;
    case 'paste':
      return 524288;
    case 'touchstart':
      return 1048576;
    case 'touchmove':
      return 2097152;
    case 'touchend':
      return 4194304;
    case 'touchcancel':
      return 8388608;
    case 'gesturestart':
      return 16777216;
    case 'gesturechange':
      return 33554432;
    case 'gestureend':
      return 67108864;
    default:return -1;
  }
}

function $maybeInitializeEventSystem(){
  if (!eventSystemIsInitialized) {
    $initEventSystem_0();
    eventSystemIsInitialized = true;
  }
}

function $setEventListener(elem, listener){
  elem.__listener = listener;
}

function isMyListener(object){
  return !instanceOfJso(object) && instanceOf(object, Q$EventListener);
}

var eventSystemIsInitialized = false;
function $getChild_0(elem, index){
  var count = 0, child = elem.firstChild;
  while (child) {
    if (child.nodeType == 1) {
      if (index == count)
        return child;
      ++count;
    }
    child = child.nextSibling;
  }
  return null;
}

function $getChildIndex(parent_0, toFind){
  var count = 0, child = parent_0.firstChild;
  while (child) {
    if (child === toFind) {
      return count;
    }
    child.nodeType == 1 && ++count;
    child = child.nextSibling;
  }
  return -1;
}

function $initEventSystem_0(){
  dispatchCapturedEvent = $entry(function(evt){
    if (!previewEvent(evt)) {
      evt.stopPropagation();
      evt.preventDefault();
      return false;
    }
    return true;
  }
  );
  dispatchEvent_1 = $entry(function(evt){
    var listener, curElem = this;
    while (curElem && !(listener = curElem.__listener)) {
      curElem = curElem.parentNode;
    }
    curElem && curElem.nodeType != 1 && (curElem = null);
    listener && isMyListener(listener) && dispatchEvent_0(evt, curElem, listener);
  }
  );
  dispatchDragEvent = $entry(function(evt){
    evt.preventDefault();
    dispatchEvent_1.call(this, evt);
  }
  );
  dispatchUnhandledEvent = $entry(function(evt){
    this.__gwtLastUnhandledEvent = evt.type;
    dispatchEvent_1.call(this, evt);
  }
  );
  dispatchCapturedMouseEvent = $entry(function(evt){
    var dispatchCapturedEventFn = dispatchCapturedEvent;
    if (dispatchCapturedEventFn(evt)) {
      var cap = captureElem;
      if (cap && cap.__listener) {
        if (isMyListener(cap.__listener)) {
          dispatchEvent_0(evt, cap, cap.__listener);
          evt.stopPropagation();
        }
      }
    }
  }
  );
  $wnd.addEventListener('click', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('dblclick', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousedown', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseup', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousemove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseover', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseout', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousewheel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('keydown', dispatchCapturedEvent, true);
  $wnd.addEventListener('keyup', dispatchCapturedEvent, true);
  $wnd.addEventListener('keypress', dispatchCapturedEvent, true);
  $wnd.addEventListener('touchstart', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchmove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchend', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchcancel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gesturestart', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gesturechange', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gestureend', dispatchCapturedMouseEvent, true);
}

function $sinkBitlessEvent_0(elem, eventTypeName){
  $maybeInitializeEventSystem();
  $sinkBitlessEventImpl(elem, eventTypeName);
}

function $sinkBitlessEventImpl(elem, eventTypeName){
  switch (eventTypeName) {
    case 'drag':
      elem.ondrag = dispatchEvent_1;
      break;
    case 'dragend':
      elem.ondragend = dispatchEvent_1;
      break;
    case 'dragenter':
      elem.ondragenter = dispatchDragEvent;
      break;
    case 'dragleave':
      elem.ondragleave = dispatchEvent_1;
      break;
    case 'dragover':
      elem.ondragover = dispatchDragEvent;
      break;
    case 'dragstart':
      elem.ondragstart = dispatchEvent_1;
      break;
    case 'drop':
      elem.ondrop = dispatchEvent_1;
      break;
    case 'canplaythrough':
    case 'ended':
    case 'progress':
      elem.removeEventListener(eventTypeName, dispatchEvent_1, false);
      elem.addEventListener(eventTypeName, dispatchEvent_1, false);
      break;
    default:throw 'Trying to sink unknown event type ' + eventTypeName;
  }
}

function $sinkEvents_1(elem, bits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, bits);
}

function $sinkEventsImpl(elem, bits){
  var chMask = (elem.__eventBits || 0) ^ bits;
  elem.__eventBits = bits;
  if (!chMask)
    return;
  chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_1:null);
  chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_1:null);
  chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_1:null);
  chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_1:null);
  chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_1:null);
  chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_1:null);
  chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_1:null);
  chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_1:null);
  chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_1:null);
  chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_1:null);
  chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_1:null);
  chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_1:null);
  chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_1:null);
  chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_1:null);
  chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_1:null);
  chMask & 32768 && (elem.onload = bits & 32768?dispatchUnhandledEvent:null);
  chMask & 65536 && (elem.onerror = bits & 65536?dispatchEvent_1:null);
  chMask & 131072 && (elem.onmousewheel = bits & 131072?dispatchEvent_1:null);
  chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_1:null);
  chMask & 524288 && (elem.onpaste = bits & 524288?dispatchEvent_1:null);
  chMask & 1048576 && (elem.ontouchstart = bits & 1048576?dispatchEvent_1:null);
  chMask & 2097152 && (elem.ontouchmove = bits & 2097152?dispatchEvent_1:null);
  chMask & 4194304 && (elem.ontouchend = bits & 4194304?dispatchEvent_1:null);
  chMask & 8388608 && (elem.ontouchcancel = bits & 8388608?dispatchEvent_1:null);
  chMask & 16777216 && (elem.ongesturestart = bits & 16777216?dispatchEvent_1:null);
  chMask & 33554432 && (elem.ongesturechange = bits & 33554432?dispatchEvent_1:null);
  chMask & 67108864 && (elem.ongestureend = bits & 67108864?dispatchEvent_1:null);
}

var captureElem = null, dispatchCapturedEvent = null, dispatchCapturedMouseEvent = null, dispatchDragEvent = null, dispatchEvent_1 = null, dispatchUnhandledEvent = null;
function $addValueChangeHandler(this$static, handler){
  return $addHandler(this$static.handlers, (!TYPE_13 && (TYPE_13 = new GwtEvent$Type_0) , TYPE_13), handler);
}

function setToken(token){
  token_1 = token;
}

function HistoryImpl(){
}

_ = HistoryImpl.prototype = new Object_0;
_.decodeFragment = function decodeFragment(encodedFragment){
  return decodeURI(encodedFragment.replace('%23', '#'));
}
;
_.fireEvent = function fireEvent_2(event_0){
  $fireEvent(this.handlers, event_0);
}
;
_.getClass$ = function getClass_255(){
  return Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit;
}
;
_.newItemOnEvent = function newItemOnEvent(historyToken){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_1(historyToken, token_1 == null?'':token_1)) {
    token_1 = historyToken;
    fire_3(this);
  }
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers]);
var token_1 = '';
function $init(this$static){
  var token_0 = '';
  var hash_0 = $wnd.location.hash;
  hash_0.length > 0 && (token_0 = this$static.decodeFragment(hash_0.substring(1)));
  setToken(token_0);
  var historyImpl = this$static;
  var checkHistory = $entry(function(){
    var token = '', hash = $wnd.location.hash;
    hash.length > 0 && (token = historyImpl.decodeFragment(hash.substring(1)));
    historyImpl.newItemOnEvent(token);
  }
  );
  var checkHistoryCycle = function(){
    $wnd.setTimeout(checkHistoryCycle, 250);
    checkHistory();
  }
  ;
  checkHistoryCycle();
  return true;
}

function HistoryImplTimer(){
}

_ = HistoryImplTimer.prototype = new HistoryImpl;
_.getClass$ = function getClass_256(){
  return Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers]);
function HistoryImplSafari_0(){
  this.handlers = new HandlerManager_0(null);
}

function HistoryImplSafari(){
}

_ = HistoryImplSafari_0.prototype = HistoryImplSafari.prototype = new HistoryImplTimer;
_.getClass$ = function getClass_257(){
  return Lcom_google_gwt_user_client_impl_HistoryImplSafari_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers]);
function $initWindowCloseHandler(){
  var oldOnBeforeUnload = $wnd.onbeforeunload;
  var oldOnUnload = $wnd.onunload;
  $wnd.onbeforeunload = function(evt){
    var ret, oldRet;
    try {
      ret = $entry(onClosing)();
    }
     finally {
      oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);
    }
    if (ret != null) {
      return ret;
    }
    if (oldRet != null) {
      return oldRet;
    }
  }
  ;
  $wnd.onunload = $entry(function(evt){
    try {
      closeHandlersInitialized && fire_1((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1));
    }
     finally {
      oldOnUnload && oldOnUnload(evt);
      $wnd.onresize = null;
      $wnd.onscroll = null;
      $wnd.onbeforeunload = null;
      $wnd.onunload = null;
    }
  }
  );
}

function $initWindowResizeHandler(){
  var oldOnResize = $wnd.onresize;
  $wnd.onresize = $entry(function(evt){
    try {
      onResize_0();
    }
     finally {
      oldOnResize && oldOnResize(evt);
    }
  }
  );
}

function IncompatibleRemoteServiceException_0(){
  RuntimeException_1.call(this, 'This application is out of date, please click the refresh button on your browser.');
}

function IncompatibleRemoteServiceException_1(msg){
  $fillInStackTrace();
  this.detailMessage = 'This application is out of date, please click the refresh button on your browser. ( ' + msg + ' )';
}

function IncompatibleRemoteServiceException_2(cause){
  Throwable_2.call(this, 'The response could not be deserialized', cause);
}

function IncompatibleRemoteServiceException(){
}

_ = IncompatibleRemoteServiceException_2.prototype = IncompatibleRemoteServiceException_1.prototype = IncompatibleRemoteServiceException_0.prototype = IncompatibleRemoteServiceException.prototype = new RuntimeException;
_.getClass$ = function getClass_258(){
  return Lcom_google_gwt_user_client_rpc_IncompatibleRemoteServiceException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$Serializable, Q$RuntimeException, Q$Throwable]);
function deserialize_37(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_37(streamReader){
  return new IncompatibleRemoteServiceException_0;
}

function serialize(streamWriter, instance){
  $writeString(streamWriter, instance.detailMessage);
}

function InvocationException_0(s){
  Throwable_2.call(this, s, null);
}

function InvocationException_1(s, cause){
  Throwable_2.call(this, s, cause);
}

function InvocationException(){
}

_ = InvocationException_1.prototype = InvocationException_0.prototype = InvocationException.prototype = new RuntimeException;
_.getClass$ = function getClass_259(){
  return Lcom_google_gwt_user_client_rpc_InvocationException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function $create(this$static, serviceEntryPoint){
  this$static.builder = new RequestBuilder_0(($clinit_RequestBuilder() , POST), serviceEntryPoint);
  return this$static;
}

function $doFinish(rb){
  $setHeader(rb, 'X-GWT-Permutation', $strongName);
  $setHeader(rb, 'X-GWT-Module-Base', $moduleBase);
}

function $doSetCallback(rb, callback){
  throwIfNull('callback', callback);
  rb.callback = callback;
}

function $doSetRequestData(rb, data){
  rb.requestData = data;
}

function $finish_0(this$static){
  try {
    $doFinish(this$static.builder);
    return this$static.builder;
  }
   finally {
    this$static.builder = null;
  }
}

function $setCallback(this$static, callback){
  $doSetCallback(this$static.builder, callback);
  return this$static;
}

function $setRequestData(this$static, data){
  $doSetRequestData(this$static.builder, data);
  return this$static;
}

function RpcRequestBuilder_0(){
}

function RpcRequestBuilder(){
}

_ = RpcRequestBuilder_0.prototype = RpcRequestBuilder.prototype = new Object_0;
_.getClass$ = function getClass_260(){
  return Lcom_google_gwt_user_client_rpc_RpcRequestBuilder_2_classLit;
}
;
_.builder = null;
function RpcTokenException_0(){
  RuntimeException_1.call(this, 'Invalid RPC token');
}

function RpcTokenException(){
}

_ = RpcTokenException_0.prototype = RpcTokenException.prototype = new RuntimeException;
_.getClass$ = function getClass_261(){
  return Lcom_google_gwt_user_client_rpc_RpcTokenException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$Serializable, Q$RuntimeException, Q$Throwable]);
function deserialize_38(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_38(streamReader){
  return new RpcTokenException_0;
}

function SerializableException_0(){
  $fillInStackTrace();
}

function SerializableException(){
}

_ = SerializableException_0.prototype = SerializableException.prototype = new Exception;
_.getClass$ = function getClass_262(){
  return Lcom_google_gwt_user_client_rpc_SerializableException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$Serializable, Q$Throwable]);
function deserialize_39(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_39(streamReader){
  return new SerializableException_0;
}

function SerializationException_0(){
  $fillInStackTrace();
}

function SerializationException_1(msg){
  Exception_1.call(this, msg);
}

function SerializationException(){
}

_ = SerializationException_1.prototype = SerializationException_0.prototype = SerializationException.prototype = new Exception;
_.getClass$ = function getClass_263(){
  return Lcom_google_gwt_user_client_rpc_SerializationException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$SerializationException, Q$Serializable, Q$Throwable]);
function deserialize_40(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_40(streamReader){
  return new SerializationException_0;
}

--></script>
<script><!--
function ServiceDefTarget$NoServiceEntryPointSpecifiedException_0(){
  InvocationException_0.call(this, 'Service implementation URL not specified');
}

function ServiceDefTarget$NoServiceEntryPointSpecifiedException(){
}

_ = ServiceDefTarget$NoServiceEntryPointSpecifiedException_0.prototype = ServiceDefTarget$NoServiceEntryPointSpecifiedException.prototype = new InvocationException;
_.getClass$ = function getClass_264(){
  return Lcom_google_gwt_user_client_rpc_ServiceDefTarget$NoServiceEntryPointSpecifiedException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function deserialize_41(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_41(streamReader){
  return new ServiceDefTarget$NoServiceEntryPointSpecifiedException_0;
}

function StatusCodeException_0(statusCode, encodedResponse){
  Throwable_2.call(this, statusCode + ' ' + encodedResponse, null);
}

function StatusCodeException(){
}

_ = StatusCodeException_0.prototype = StatusCodeException.prototype = new InvocationException;
_.getClass$ = function getClass_265(){
  return Lcom_google_gwt_user_client_rpc_StatusCodeException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function XsrfToken_0(){
  this.token = null;
}

function XsrfToken(){
}

_ = XsrfToken_0.prototype = XsrfToken.prototype = new Object_0;
_.getClass$ = function getClass_266(){
  return Lcom_google_gwt_user_client_rpc_XsrfToken_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable]);
_.token = null;
function deserialize_42(streamReader, instance){
  setToken_0(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_42(streamReader){
  return new XsrfToken_0;
}

function serialize_0(streamWriter, instance){
  $writeString(streamWriter, instance.token);
}

function setToken_0(instance, value){
  instance.token = value;
}

function deserialize_43(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_43(streamReader){
  return new IOException_0;
}

function deserialize_44(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_44(streamReader){
  return new UnsupportedEncodingException_0;
}

function deserialize_45(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_45(streamReader){
  return new ArithmeticException_1;
}

function deserialize_46(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_46(streamReader){
  return new ArrayIndexOutOfBoundsException_0;
}

function deserialize_47(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_47(streamReader){
  return new ArrayStoreException_0;
}

function deserialize_48(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_48(streamReader){
  return new AssertionError_0;
}

function deserialize_49(streamReader, instance){
}

function instantiate_49(streamReader){
  return $clinit_Boolean() , $readBoolean(streamReader)?TRUE:FALSE;
}

function deserialize_50(streamReader, instance){
}

function instantiate_50(streamReader){
  return valueOf(streamReader.results[--streamReader.index_0]);
}

function deserialize_51(streamReader, instance){
}

function instantiate_51(streamReader){
  return valueOf_0(streamReader.results[--streamReader.index_0]);
}

function deserialize_52(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_52(streamReader){
  return new ClassCastException_0;
}

function deserialize_53(streamReader, instance){
}

function instantiate_53(streamReader){
  return new Double_0(streamReader.results[--streamReader.index_0]);
}

function deserialize_54(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_54(streamReader){
  return new Error_1;
}

function deserialize_55(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_55(streamReader){
  return new Exception_0;
}

function serialize_1(streamWriter, instance){
  $writeString(streamWriter, instance.detailMessage);
}

function deserialize_56(streamReader, instance){
}

function instantiate_56(streamReader){
  return new Float_0(streamReader.results[--streamReader.index_0]);
}

function deserialize_57(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_57(streamReader){
  return new IllegalArgumentException_0;
}

function deserialize_58(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_58(streamReader){
  return new IllegalStateException_0;
}

function deserialize_59(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_59(streamReader){
  return new IndexOutOfBoundsException_0;
}

function deserialize_60(streamReader, instance){
  deserialize_66(streamReader, instance);
}

function instantiate_60(streamReader){
  var size;
  size = $readInt(streamReader);
  return initDim(_3Ljava_lang_Integer_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Integer, size, 0);
}

function deserialize_61(streamReader, instance){
}

function instantiate_61(streamReader){
  return valueOf_1($readInt(streamReader));
}

function deserialize_62(streamReader, instance){
}

function instantiate_62(streamReader){
  return valueOf_2($readLong(streamReader));
}

function deserialize_63(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_63(streamReader){
  return new NegativeArraySizeException_0;
}

function deserialize_64(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_64(streamReader){
  return new NullPointerException_0;
}

function deserialize_65(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_65(streamReader){
  return new NumberFormatException_0;
}

function deserialize_66(streamReader, instance){
  var itemIndex;
  for (itemIndex = 0; itemIndex < instance.length; ++itemIndex) {
    setCheck(instance, itemIndex, $readObject(streamReader));
  }
}

function deserialize_67(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_66(streamReader){
  return new RuntimeException_0;
}

function serialize_2(streamWriter, instance){
  $writeString(streamWriter, instance.detailMessage);
}

function deserialize_68(streamReader, instance){
}

function instantiate_67(streamReader){
  return valueOf_3(streamReader.results[--streamReader.index_0]);
}

function deserialize_69(streamReader, instance){
  deserialize_66(streamReader, instance);
}

function instantiate_68(streamReader){
  var size;
  size = $readInt(streamReader);
  return initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1, Q$StackTraceElement_$1]), Q$StackTraceElement, size, 0);
}

function deserialize_70(streamReader, instance){
}

function instantiate_69(streamReader){
  return new StackTraceElement_0($getString(streamReader, $readInt(streamReader)), $getString(streamReader, $readInt(streamReader)), $getString(streamReader, $readInt(streamReader)), $readInt(streamReader));
}

function deserialize_71(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_70(streamReader){
  return new StringIndexOutOfBoundsException_0;
}

function deserialize_72(streamReader, instance){
  var i, n;
  for (i = 0 , n = instance.length; i < n; ++i) {
    instance[i] = $getString(streamReader, $readInt(streamReader));
  }
}

function instantiate_71(streamReader){
  var size;
  size = $readInt(streamReader);
  return initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, size, 0);
}

function deserialize_73(streamReader, instance){
}

function instantiate_72(streamReader){
  return $getString(streamReader, $readInt(streamReader));
}

function serialize_3(streamWriter, instance){
  $writeInt(streamWriter, $addString(streamWriter, instance));
}

function deserialize_74(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_73(streamReader){
  return new Throwable_0;
}

function serialize_4(streamWriter, instance){
  $writeString(streamWriter, instance.detailMessage);
}

function setDetailMessage(instance, value){
  instance.detailMessage = value;
}

function deserialize_75(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_74(streamReader){
  return new UnsupportedOperationException_0;
}

function deserialize_76(streamReader, instance){
}

function instantiate_75(streamReader){
  return null;
}

function deserialize_77(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_76(streamReader){
  return new AnnotationFormatError_0;
}

function deserialize_78(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_77(streamReader){
  return new AnnotationTypeMismatchException_0;
}

function deserialize_79(streamReader, instance){
}

function instantiate_78(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_ElementType() , $clinit_ElementType() , $VALUES_36);
  return values[ordinal];
}

function deserialize_80(streamReader, instance){
}

function instantiate_79(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_RetentionPolicy() , $clinit_RetentionPolicy() , $VALUES_37);
  return values[ordinal];
}

function deserialize_81(streamReader, instance){
}

function instantiate_80(streamReader){
  return new BigDecimal_0($getString(streamReader, $readInt(streamReader)));
}

function deserialize_82(streamReader, instance){
}

function instantiate_81(streamReader){
  return new BigInteger_0($getString(streamReader, $readInt(streamReader)));
}

function deserialize_83(streamReader, instance){
}

function instantiate_82(streamReader){
  return new MathContext_0($readInt(streamReader), ($clinit_RoundingMode() , $clinit_RoundingMode() , $VALUES_38)[$readInt(streamReader)]);
}

function deserialize_84(streamReader, instance){
}

function instantiate_83(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_RoundingMode() , $clinit_RoundingMode() , $VALUES_38);
  return values[ordinal];
}

function deserialize_85(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_84(streamReader){
  return new DigestException_0;
}

function deserialize_86(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_85(streamReader){
  return new GeneralSecurityException_0;
}

function deserialize_87(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_86(streamReader){
  return new NoSuchAlgorithmException_0;
}

function deserialize_88(streamReader, instance){
}

function instantiate_87(streamReader){
  return new Date_4($readLong(streamReader));
}

function deserialize_89(streamReader, instance){
}

function instantiate_88(streamReader){
  return new Time_0($readLong(streamReader));
}

function deserialize_90(streamReader, instance){
  $setNanos(instance, $readInt(streamReader));
}

function instantiate_89(streamReader){
  return new Timestamp_0($readLong(streamReader));
}

function deserialize_91(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_90(streamReader){
  return new ArrayList_0;
}

function deserialize_92(streamReader, instance){
}

function instantiate_91(streamReader){
  var array;
  array = dynamicCast($readObject(streamReader), Q$Object_$1);
  return new Arrays$ArrayList_0(array);
}

function deserialize_93(streamReader, instance){
  var i, obj, size;
  size = $readInt(streamReader);
  for (i = 0; i < size; ++i) {
    obj = $readObject(streamReader);
    instance.add(obj);
  }
}

function deserialize_94(streamReader, instance){
}

function instantiate_92(streamReader){
  return $clinit_Collections() , $clinit_Collections() , EMPTY_LIST;
}

function deserialize_95(streamReader, instance){
}

function instantiate_93(streamReader){
  return $clinit_Collections() , $clinit_Collections() , EMPTY_MAP;
}

function deserialize_96(streamReader, instance){
}

function instantiate_94(streamReader){
  return $clinit_Collections() , $clinit_Collections() , EMPTY_SET;
}

function deserialize_97(streamReader, instance){
}

function instantiate_95(streamReader){
  return $clinit_Collections() , new Collections$SingletonList_0($readObject(streamReader));
}

function deserialize_98(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_96(streamReader){
  return new ConcurrentModificationException_0;
}

function deserialize_99(streamReader, instance){
}

function instantiate_97(streamReader){
  return new Date_2($readLong(streamReader));
}

function deserialize_100(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_98(streamReader){
  return new EmptyStackException_0;
}

function deserialize_101(streamReader, instance){
  deserialize_107(streamReader, instance);
}

function instantiate_99(streamReader){
  return new HashMap_0;
}

function deserialize_102(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_100(streamReader){
  return new HashSet_0;
}

function deserialize_103(streamReader, instance){
  deserialize_107(streamReader, instance);
}

function instantiate_101(streamReader){
  return new IdentityHashMap_0;
}

function deserialize_104(streamReader, instance){
  deserialize_107(streamReader, instance);
}

function instantiate_102(streamReader){
  var accessOrder;
  accessOrder = $readBoolean(streamReader);
  return new LinkedHashMap_1(accessOrder);
}

function deserialize_105(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_103(streamReader){
  return new LinkedHashSet_0;
}

function deserialize_106(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_104(streamReader){
  return new LinkedList_0;
}

function deserialize_107(streamReader, instance){
  var i, key, size, value;
  size = $readInt(streamReader);
  for (i = 0; i < size; ++i) {
    key = $readObject(streamReader);
    value = $readObject(streamReader);
    instance.put(key, value);
  }
}

function deserialize_108(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_105(streamReader){
  return new NoSuchElementException_0;
}

function deserialize_109(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_106(streamReader){
  return new Stack_0;
}

function deserialize_110(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_107(streamReader){
  return new TooManyListenersException_0;
}

function deserialize_111(streamReader, instance){
  deserialize_107(streamReader, instance);
}

function instantiate_108(streamReader){
  return new TreeMap_1(throwClassCastExceptionUnlessNull($readObject(streamReader)));
}

function deserialize_112(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_109(streamReader){
  return new TreeSet_1(throwClassCastExceptionUnlessNull($readObject(streamReader)));
}

function deserialize_113(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_110(streamReader){
  return new Vector_0;
}

function deserialize_114(reader, instance){
}

function instantiate_111(reader){
  $getString(reader, $readInt(reader));
  return null;
}

function deserialize_115(reader, instance){
  var throwable;
  $getString(reader, $readInt(reader));
  valueOf_2($readLong(reader));
  throwable = $readObject(reader);
  throwable != null && instanceOf(throwable, Q$SerializableThrowable) && ($getThrowable(dynamicCast(throwable, Q$SerializableThrowable)) , undefined);
}

function instantiate_112(reader){
  var toReturn;
  $getString(reader, $readInt(reader));
  $getString(reader, $readInt(reader));
  toReturn = new LogRecord_0;
  return toReturn;
}

function deserialize_116(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_113(streamReader){
  return new ConstraintDeclarationException_0;
}

function deserialize_117(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_114(streamReader){
  return new ConstraintDefinitionException_0;
}

function deserialize_118(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_115(streamReader){
  return new GroupDefinitionException_0;
}

function deserialize_119(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_116(streamReader){
  return new UnexpectedTypeException_0;
}

function deserialize_120(streamReader, instance){
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_117(streamReader){
  return new ValidationException_0;
}

function deserialize_121(streamReader, instance){
}

function instantiate_118(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Pattern$Flag() , $clinit_Pattern$Flag() , $VALUES_40);
  return values[ordinal];
}

function deserialize_122(streamReader, instance){
}

function instantiate_119(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Scope() , $clinit_Scope() , $VALUES_41);
  return values[ordinal];
}

function $setFlags(this$static, flags){
  this$static.flags = flags;
}

function $setVersion(this$static, version){
  this$static.version = version;
}

function AbstractSerializationStream(){
}

_ = AbstractSerializationStream.prototype = new Object_0;
_.getClass$ = function getClass_267(){
  return Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStream_2_classLit;
}
;
_.flags = 0;
_.version = 7;
function $readObject(this$static){
  var token, typeSignature, id, instance;
  token = $readInt(this$static);
  if (token < 0) {
    return $get(this$static.seenArray, -(token + 1));
  }
  typeSignature = $getString(this$static, token);
  if (typeSignature == null) {
    return null;
  }
  return id = ($add_1(this$static.seenArray, null) , this$static.seenArray.size) , instance = $instantiate(this$static.serializer, this$static, typeSignature) , $set(this$static.seenArray, id - 1, instance) , $deserialize(this$static.serializer, this$static, instance, typeSignature) , instance;
}

function AbstractSerializationStreamReader(){
}

_ = AbstractSerializationStreamReader.prototype = new AbstractSerializationStream;
_.getClass$ = function getClass_268(){
  return Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamReader_2_classLit;
}
;
function $addString(this$static, string){
  var index, o;
  if (string == null) {
    return 0;
  }
  o = dynamicCast(this$static.stringMap.get_0(string), Q$Integer);
  if (o) {
    return o.value;
  }
  $add_1(this$static.stringTable, string);
  index = this$static.stringTable.size;
  this$static.stringMap.put(string, valueOf_1(index));
  return index;
}

function $writeInt(this$static, fieldValue){
  append(this$static.encodeBuffer, '' + fieldValue);
}

function $writeObject(this$static){
  $writeInt(this$static, $addString(this$static, null));
  return;
}

function $writeString(this$static, value){
  $writeInt(this$static, $addString(this$static, value));
}

function AbstractSerializationStreamWriter(){
}

_ = AbstractSerializationStreamWriter.prototype = new AbstractSerializationStream;
_.getClass$ = function getClass_269(){
  return Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamWriter_2_classLit;
}
;
function $getString(this$static, index){
  return index > 0?this$static.stringTable[index - 1]:null;
}

function $prepareToRead(this$static, encoded){
  this$static.results = eval(encoded);
  this$static.index_0 = this$static.results.length;
  $clear(this$static.seenArray);
  $setVersion(this$static, $readInt(this$static));
  $setFlags(this$static, $readInt(this$static));
  if (this$static.version != 7) {
    throw new IncompatibleRemoteServiceException_1('Expecting version 7 from server, got ' + this$static.version + '.');
  }
  if (((this$static.flags | 3) ^ 3) != 0) {
    throw new IncompatibleRemoteServiceException_1('Got an unknown flag from server: ' + this$static.flags);
  }
  this$static.stringTable = this$static.results[--this$static.index_0];
}

function $readBoolean(this$static){
  return !!this$static.results[--this$static.index_0];
}

function $readInt(this$static){
  return this$static.results[--this$static.index_0];
}

function $readLong(this$static){
  var s = this$static.results[--this$static.index_0];
  return longFromBase64(s);
}

function ClientSerializationStreamReader_0(serializer){
  this.seenArray = new ArrayList_0;
  this.serializer = serializer;
}

function ClientSerializationStreamReader(){
}

_ = ClientSerializationStreamReader_0.prototype = ClientSerializationStreamReader.prototype = new AbstractSerializationStreamReader;
_.getClass$ = function getClass_270(){
  return Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamReader_2_classLit;
}
;
_.index_0 = 0;
_.results = null;
_.serializer = null;
_.stringTable = null;
function $clinit_ClientSerializationStreamWriter(){
  $clinit_ClientSerializationStreamWriter = nullMethod;
  regex_0 = getQuotingRegex();
}

function $toString(this$static){
  var buffer;
  buffer = new StringBuffer_0;
  append(buffer, '' + this$static.version);
  append(buffer, '' + this$static.flags);
  $writeStringTable(this$static, buffer);
  $append_3(buffer, this$static.encodeBuffer.impl.string);
  return buffer.impl.string;
}

function $writeStringTable(this$static, buffer){
  var s, s$iterator, stringTable;
  stringTable = this$static.stringTable;
  append(buffer, '' + stringTable.size);
  for (s$iterator = new AbstractList$IteratorImpl_0(stringTable); s$iterator.i < s$iterator.this$0_0.size_0();) {
    s = dynamicCast($next_1(s$iterator), Q$String);
    append(buffer, quoteString(s));
  }
  return buffer;
}

function ClientSerializationStreamWriter_0(moduleBaseURL, serializationPolicyStrongName){
  $clinit_ClientSerializationStreamWriter();
  this.objectMap = new IdentityHashMap_0;
  this.stringMap = new HashMap_0;
  this.stringTable = new ArrayList_0;
  this.moduleBaseURL = moduleBaseURL;
  this.serializationPolicyStrongName = serializationPolicyStrongName;
}

function append(sb, token){
  $clinit_ClientSerializationStreamWriter();
  $append_1(sb.impl, token);
  sb.impl.string += '|';
}

function getQuotingRegex(){
  var ua = navigator.userAgent.toLowerCase();
  if (ua.indexOf('android') != -1) {
    return /[\u0000\|\\\u0080-\uFFFF]/g;
  }
   else if (ua.indexOf('chrome/11') != -1) {
    return /[\u0000\|\\\u0300-\uFFFF]/g;
  }
   else if (ua.indexOf('webkit') != -1) {
    return /[\u0000\|\\\u0300-\u03ff\u0590-\u05FF\u0600-\u06ff\u0730-\u074A\u07eb-\u07f3\u0940-\u0963\u0980-\u09ff\u0a00-\u0a7f\u0b00-\u0b7f\u0e00-\u0e7f\u0f00-\u0fff\u1900-\u194f\u1a00-\u1a1f\u1b00-\u1b7f\u1cda-\u1cdc\u1dc0-\u1dff\u1f00-\u1fff\u2000-\u206f\u20d0-\u20ff\u2100-\u214f\u2300-\u23ff\u2a00-\u2aff\u3000-\u303f\uaab2-\uaab4\uD800-\uFFFF]/g;
  }
   else {
    return /[\u0000\|\\\uD800-\uFFFF]/g;
  }
}

function quoteString(str){
  var regex = regex_0;
  var idx = 0;
  var out = '';
  var result;
  while ((result = regex.exec(str)) != null) {
    out += str.substring(idx, result.index);
    idx = result.index + 1;
    var ch = result[0].charCodeAt(0);
    if (ch == 0) {
      out += '\\0';
    }
     else if (ch == 92) {
      out += '\\\\';
    }
     else if (ch == 124) {
      out += '\\!';
    }
     else {
      var hex = ch.toString(16);
      out += '\\u0000'.substring(0, 6 - hex.length) + hex;
    }
  }
  return out + str.substring(idx);
}

function ClientSerializationStreamWriter(){
}

_ = ClientSerializationStreamWriter_0.prototype = ClientSerializationStreamWriter.prototype = new AbstractSerializationStreamWriter;
_.getClass$ = function getClass_271(){
  return Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamWriter_2_classLit;
}
;
_.toString$ = function toString_10(){
  return $toString(this);
}
;
_.encodeBuffer = null;
_.moduleBaseURL = null;
_.serializationPolicyStrongName = null;
var regex_0;
function $createStreamReader(this$static, encoded){
  var clientSerializationStreamReader;
  clientSerializationStreamReader = new ClientSerializationStreamReader_0(this$static.serializer);
  $prepareToRead(clientSerializationStreamReader, getEncodedInstance(encoded));
  return clientSerializationStreamReader;
}

function $doInvoke(this$static, methodName, statsContext, requestData, callback){
  var $e0, ex, rb;
  rb = $doPrepareRequestBuilderImpl(this$static, methodName, statsContext, requestData, callback);
  try {
    return throwIfNull('callback', rb.callback) , $doSend(rb, rb.requestData, rb.callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$RequestException)) {
      ex = $e0;
      new InvocationException_1('Unable to initiate the asynchronous service invocation (' + methodName + ') -- check the network connection', ex);
      $onFailure(callback);
    }
     else 
      throw $e0;
  }
   finally {
    !!$stats && $stats_0($bytesStat(statsContext, methodName, requestData.length, 'requestSent'));
  }
  return null;
}

function $doPrepareRequestBuilderImpl(this$static, methodName, statsContext, requestData, callback){
  var responseHandler;
  if (this$static.remoteServiceURL == null) {
    throw new ServiceDefTarget$NoServiceEntryPointSpecifiedException_0;
  }
  responseHandler = new RequestCallbackAdapter_0(this$static, methodName, statsContext, callback);
  !this$static.rpcRequestBuilder && (this$static.rpcRequestBuilder = new RpcRequestBuilder_0);
  $create(this$static.rpcRequestBuilder, this$static.remoteServiceURL);
  $setCallback(this$static.rpcRequestBuilder, responseHandler);
  $setHeader(this$static.rpcRequestBuilder.builder, 'Content-Type', 'text/x-gwt-rpc; charset=utf-8');
  $setRequestData(this$static.rpcRequestBuilder, requestData);
  return $finish_0(this$static.rpcRequestBuilder);
}

function RemoteServiceProxy_0(moduleBaseURL, serializer){
  this.moduleBaseURL = moduleBaseURL;
  this.remoteServiceURL = moduleBaseURL + 'QueryTables';
  this.serializer = serializer;
  this.serializationPolicyName = 'B8AC1CE23E329FF13B4A29A737C0DD11';
}

function getEncodedInstance(encodedResponse){
  if (encodedResponse.indexOf('//OK') == 0 || encodedResponse.indexOf('//EX') == 0) {
    return $substring(encodedResponse, 4);
  }
  return encodedResponse;
}

function RemoteServiceProxy(){
}

_ = RemoteServiceProxy.prototype = new Object_0;
_.getClass$ = function getClass_272(){
  return Lcom_google_gwt_user_client_rpc_impl_RemoteServiceProxy_2_classLit;
}
;
_.moduleBaseURL = null;
_.remoteServiceURL = null;
_.rpcRequestBuilder = null;
_.rpcToken = null;
_.serializationPolicyName = null;
_.serializer = null;
function $finish_1(this$static, callback){
  var payload;
  payload = $toString(this$static.streamWriter);
  !!$stats && $stats_0($timeStat(this$static.statsContext, this$static.fullServiceName, 'requestSerialized'));
  return $doInvoke(this$static.this$0, this$static.fullServiceName, this$static.statsContext, payload, callback);
}

function RemoteServiceProxy$ServiceHelper_0(this$0){
  this.this$0 = this$0;
  this.fullServiceName = 'QueryTables_Proxy.getRelation';
  this.methodName = 'getRelation';
  this.statsContext = new RpcStatsContext_0;
}

function RemoteServiceProxy$ServiceHelper(){
}

_ = RemoteServiceProxy$ServiceHelper_0.prototype = RemoteServiceProxy$ServiceHelper.prototype = new Object_0;
_.getClass$ = function getClass_273(){
  return Lcom_google_gwt_user_client_rpc_impl_RemoteServiceProxy$ServiceHelper_2_classLit;
}
;
_.fullServiceName = null;
_.methodName = null;
_.statsContext = null;
_.streamWriter = null;
_.this$0 = null;
function $onError(this$static){
  $onFailure(this$static.callback);
}

--></script>
<script><!--
function $onResponseReceived(this$static, response){
  var $e0, caught, e, encodedResponse, result, statusCode;
  result = null;
  caught = null;
  try {
    encodedResponse = response.val$xmlHttpRequest.responseText;
    statusCode = response.val$xmlHttpRequest.status;
    !!$stats && $stats_0($bytesStat(this$static.statsContext, this$static.methodName, encodedResponse.length, 'responseReceived'));
    statusCode != 200?(caught = new StatusCodeException_0(statusCode, encodedResponse)):encodedResponse == null?(caught = new InvocationException_0('No response payload from ' + this$static.methodName)):encodedResponse.indexOf('//OK') == 0?(result = $readObject($createStreamReader(this$static.streamFactory, encodedResponse))):encodedResponse.indexOf('//EX') == 0?(caught = dynamicCast($readObject($createStreamReader(this$static.streamFactory, encodedResponse)), Q$Throwable)):(caught = new InvocationException_0(encodedResponse + ' from ' + this$static.methodName));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$SerializationException)) {
      e = $e0;
      caught = new IncompatibleRemoteServiceException_2(e);
    }
     else if (instanceOf($e0, Q$Throwable)) {
      e = $e0;
      caught = e;
    }
     else 
      throw $e0;
  }
   finally {
    !!$stats && $stats_0($timeStat(this$static.statsContext, this$static.methodName, 'responseDeserialized'));
  }
  try {
    !caught?$onSuccess(this$static.callback, dynamicCast(result, Q$Relation)):$onFailure(this$static.callback);
  }
   finally {
    !!$stats && $stats_0($timeStat(this$static.statsContext, this$static.methodName, 'end'));
  }
}

function RequestCallbackAdapter_0(streamFactory, methodName, statsContext, callback){
  this.streamFactory = streamFactory;
  this.callback = callback;
  this.methodName = methodName;
  this.statsContext = statsContext;
}

function RequestCallbackAdapter(){
}

_ = RequestCallbackAdapter_0.prototype = RequestCallbackAdapter.prototype = new Object_0;
_.getClass$ = function getClass_274(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2_classLit;
}
;
_.callback = null;
_.methodName = null;
_.statsContext = null;
_.streamFactory = null;
function $clinit_RequestCallbackAdapter$ResponseReader(){
  $clinit_RequestCallbackAdapter$ResponseReader = nullMethod;
  BOOLEAN = new RequestCallbackAdapter$ResponseReader$1_0;
  BYTE = new RequestCallbackAdapter$ResponseReader$2_0;
  CHAR = new RequestCallbackAdapter$ResponseReader$3_0;
  DOUBLE = new RequestCallbackAdapter$ResponseReader$4_0;
  FLOAT = new RequestCallbackAdapter$ResponseReader$5_0;
  INT = new RequestCallbackAdapter$ResponseReader$6_0;
  LONG = new RequestCallbackAdapter$ResponseReader$7_0;
  OBJECT = new RequestCallbackAdapter$ResponseReader$8_0;
  SHORT = new RequestCallbackAdapter$ResponseReader$9_0;
  STRING = new RequestCallbackAdapter$ResponseReader$10_0;
  VOID = new RequestCallbackAdapter$ResponseReader$11_0;
  $VALUES_30 = initValues(_3Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$RequestCallbackAdapter$ResponseReader, [BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, OBJECT, SHORT, STRING, VOID]);
}

function values_31(){
  $clinit_RequestCallbackAdapter$ResponseReader();
  return $VALUES_30;
}

function RequestCallbackAdapter$ResponseReader(){
}

_ = RequestCallbackAdapter$ResponseReader.prototype = new Enum;
_.getClass$ = function getClass_275(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_30, BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, OBJECT, SHORT, STRING, VOID;
function RequestCallbackAdapter$ResponseReader$1_0(){
  Enum_0.call(this, 'BOOLEAN', 0);
}

function RequestCallbackAdapter$ResponseReader$1(){
}

_ = RequestCallbackAdapter$ResponseReader$1_0.prototype = RequestCallbackAdapter$ResponseReader$1.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_276(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$10_0(){
  Enum_0.call(this, 'STRING', 9);
}

function RequestCallbackAdapter$ResponseReader$10(){
}

_ = RequestCallbackAdapter$ResponseReader$10_0.prototype = RequestCallbackAdapter$ResponseReader$10.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_277(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$10_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$11_0(){
  Enum_0.call(this, 'VOID', 10);
}

function RequestCallbackAdapter$ResponseReader$11(){
}

_ = RequestCallbackAdapter$ResponseReader$11_0.prototype = RequestCallbackAdapter$ResponseReader$11.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_278(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$11_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$2_0(){
  Enum_0.call(this, 'BYTE', 1);
}

function RequestCallbackAdapter$ResponseReader$2(){
}

_ = RequestCallbackAdapter$ResponseReader$2_0.prototype = RequestCallbackAdapter$ResponseReader$2.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_279(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$3_0(){
  Enum_0.call(this, 'CHAR', 2);
}

function RequestCallbackAdapter$ResponseReader$3(){
}

_ = RequestCallbackAdapter$ResponseReader$3_0.prototype = RequestCallbackAdapter$ResponseReader$3.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_280(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$4_0(){
  Enum_0.call(this, 'DOUBLE', 3);
}

function RequestCallbackAdapter$ResponseReader$4(){
}

_ = RequestCallbackAdapter$ResponseReader$4_0.prototype = RequestCallbackAdapter$ResponseReader$4.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_281(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$5_0(){
  Enum_0.call(this, 'FLOAT', 4);
}

function RequestCallbackAdapter$ResponseReader$5(){
}

_ = RequestCallbackAdapter$ResponseReader$5_0.prototype = RequestCallbackAdapter$ResponseReader$5.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_282(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$5_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$6_0(){
  Enum_0.call(this, 'INT', 5);
}

function RequestCallbackAdapter$ResponseReader$6(){
}

_ = RequestCallbackAdapter$ResponseReader$6_0.prototype = RequestCallbackAdapter$ResponseReader$6.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_283(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$6_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$7_0(){
  Enum_0.call(this, 'LONG', 6);
}

function RequestCallbackAdapter$ResponseReader$7(){
}

_ = RequestCallbackAdapter$ResponseReader$7_0.prototype = RequestCallbackAdapter$ResponseReader$7.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_284(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$7_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$8_0(){
  Enum_0.call(this, 'OBJECT', 7);
}

function RequestCallbackAdapter$ResponseReader$8(){
}

_ = RequestCallbackAdapter$ResponseReader$8_0.prototype = RequestCallbackAdapter$ResponseReader$8.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_285(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$8_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function RequestCallbackAdapter$ResponseReader$9_0(){
  Enum_0.call(this, 'SHORT', 8);
}

function RequestCallbackAdapter$ResponseReader$9(){
}

_ = RequestCallbackAdapter$ResponseReader$9_0.prototype = RequestCallbackAdapter$ResponseReader$9.prototype = new RequestCallbackAdapter$ResponseReader;
_.getClass$ = function getClass_286(){
  return Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$9_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$RequestCallbackAdapter$ResponseReader, Q$Serializable, Q$Comparable, Q$Enum]);
function deserialize_123(streamReader, instance){
}

function instantiate_120(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_RequestCallbackAdapter$ResponseReader() , $clinit_RequestCallbackAdapter$ResponseReader() , $VALUES_30);
  return values[ordinal];
}

function $bytesStat(this$static, method, bytes, eventType){
  var stat = this$static.timeStat(method, eventType);
  stat.bytes = bytes;
  return stat;
}

function $stats_0(data){
  return $stats(data);
}

function $timeStat(this$static, method, eventType){
  return {moduleName:$moduleName, sessionId:$sessionId, subSystem:'rpc', evtGroup:this$static.requestId, method:method, millis:(new Date).getTime(), type:eventType};
}

function RpcStatsContext_0(){
  RpcStatsContext_1.call(this, requestIdCounter++);
}

function RpcStatsContext_1(requestId){
  this.requestId = requestId;
}

function RpcStatsContext(){
}

_ = RpcStatsContext_0.prototype = RpcStatsContext.prototype = new Object_0;
_.getClass$ = function getClass_287(){
  return Lcom_google_gwt_user_client_rpc_impl_RpcStatsContext_2_classLit;
}
;
_.timeStat = function timeStat(method, eventType){
  return $timeStat(this, method, eventType);
}
;
_.requestId = 0;
var requestIdCounter = 0;
function $check(this$static, typeSignature){
  if (!this$static.methodMapNative[typeSignature]) {
    throw new SerializationException_1(typeSignature);
  }
}

function $deserialize(this$static, stream, instance, typeSignature){
  $check(this$static, typeSignature);
  $deserialize_0(this$static.methodMapNative, stream, instance, typeSignature);
}

function $instantiate(this$static, stream, typeSignature){
  $check(this$static, typeSignature);
  return $instantiate_0(this$static.methodMapNative, stream, typeSignature);
}

function SerializerBase_0(methodMapNative){
  new HashMap_0;
  this.methodMapNative = methodMapNative;
}

function SerializerBase(){
}

_ = SerializerBase.prototype = new Object_0;
_.getClass$ = function getClass_288(){
  return Lcom_google_gwt_user_client_rpc_impl_SerializerBase_2_classLit;
}
;
_.methodMapNative = null;
function $deserialize_0(this$static, stream, instance, signature){
  this$static[signature][1](stream, instance);
}

function $instantiate_0(this$static, stream, signature){
  return this$static[signature][0](stream);
}

function $adopt(this$static, child){
  $setParent(child, this$static);
}

function Panel(){
}

_ = Panel.prototype = new Widget;
_.doAttachChildren = function doAttachChildren_0(){
  tryCommand(this, ($clinit_AttachDetachException() , attachCommand));
}
;
_.doDetachChildren = function doDetachChildren_0(){
  tryCommand(this, ($clinit_AttachDetachException() , detachCommand));
}
;
_.getClass$ = function getClass_289(){
  return Lcom_google_gwt_user_client_ui_Panel_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
function $add(this$static, child, container){
  $removeFromParent(child);
  $add_7(this$static.children, child);
  $appendChild(container, $resolve(child.element));
  $setParent(child, this$static);
}

function $checkIndexBoundsForAccess(this$static, index){
  if (index < 0 || index >= this$static.children.size) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $getWidgetIndex(this$static, child){
  return $indexOf_1(this$static.children, child);
}

function $remove(this$static, w){
  var elem;
  if (w.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    elem = w.element;
    $removeChild($getParentElement(elem), elem);
    $remove_5(this$static.children, w);
  }
  return true;
}

function ComplexPanel_0(){
  this.children = new WidgetCollection_0(this);
}

function ComplexPanel(){
}

_ = ComplexPanel.prototype = new Panel;
_.getClass$ = function getClass_290(){
  return Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit;
}
;
_.iterator = function iterator(){
  return new WidgetCollection$WidgetIterator_0(this.children);
}
;
_.remove = function remove_0(w){
  return $remove(this, w);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
function $add_0(this$static, w){
  $add(this$static, w, this$static.element);
}

function $remove_0(this$static, w){
  var removed;
  removed = $remove(this$static, w);
  removed && changeToStaticPositioning(w.element);
  return removed;
}

function changeToStaticPositioning(elem){
  elem.style['left'] = '';
  elem.style['top'] = '';
  elem.style['position'] = '';
}

function AbsolutePanel(){
}

_ = AbsolutePanel.prototype = new ComplexPanel;
_.getClass$ = function getClass_291(){
  return Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit;
}
;
_.remove = function remove_1(w){
  return $remove_0(this, w);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
function $clinit_AttachDetachException(){
  $clinit_AttachDetachException = nullMethod;
  attachCommand = new AttachDetachException$1_0;
  detachCommand = new AttachDetachException$2_0;
}

function AttachDetachException_0(causes){
  UmbrellaException_3.call(this, causes);
}

function tryCommand(hasWidgets, c){
  $clinit_AttachDetachException();
  var $e0, caught, e, w, w$iterator;
  caught = null;
  for (w$iterator = hasWidgets.iterator(); w$iterator.hasNext();) {
    w = dynamicCast(w$iterator.next_0(), Q$Widget);
    try {
      c.execute_2(w);
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (instanceOf($e0, Q$Throwable)) {
        e = $e0;
        !caught && (caught = new HashSet_0);
        $add_8(caught, e);
      }
       else 
        throw $e0;
    }
  }
  if (caught) {
    throw new AttachDetachException_0(caught);
  }
}

function AttachDetachException(){
}

_ = AttachDetachException_0.prototype = AttachDetachException.prototype = new UmbrellaException;
_.getClass$ = function getClass_292(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$UmbrellaException, Q$Serializable, Q$RuntimeException, Q$Throwable]);
var attachCommand, detachCommand;
function AttachDetachException$1_0(){
}

function AttachDetachException$1(){
}

_ = AttachDetachException$1_0.prototype = AttachDetachException$1.prototype = new Object_0;
_.execute_2 = function execute_9(w){
  w.onAttach();
}
;
_.getClass$ = function getClass_293(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit;
}
;
function AttachDetachException$2_0(){
}

function AttachDetachException$2(){
}

_ = AttachDetachException$2_0.prototype = AttachDetachException$2.prototype = new Object_0;
_.execute_2 = function execute_10(w){
  w.onDetach();
}
;
_.getClass$ = function getClass_294(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit;
}
;
function $clinit_FocusWidget(){
  $clinit_FocusWidget = nullMethod;
  impl_3 = ($clinit_FocusImpl() , $clinit_FocusImpl() , implWidget);
}

function $setFocus(this$static){
  impl_3.focus_0(this$static.element);
}

function FocusWidget(){
}

_ = FocusWidget.prototype = new Widget;
_.getClass$ = function getClass_295(){
  return Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit;
}
;
_.onAttach = function onAttach_1(){
  var tabIndex;
  $onAttach(this);
  tabIndex = $getTabIndex(this.element);
  -1 == tabIndex && (this.element.tabIndex = 0 , undefined);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
var impl_3;
function ButtonBase_0(elem){
  this.element = elem;
}

function ButtonBase(){
}

_ = ButtonBase.prototype = new FocusWidget;
_.getClass$ = function getClass_296(){
  return Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function Button_0(html){
  var e;
  $clinit_FocusWidget();
  ButtonBase_0.call(this, (e = $doc.createElement('BUTTON') , e.setAttribute('type', 'button') , e));
  this.element['className'] = 'gwt-Button';
  $setInnerHTML(this.element, html);
}

function Button(){
}

_ = Button_0.prototype = Button.prototype = new ButtonBase;
_.getClass$ = function getClass_297(){
  return Lcom_google_gwt_user_client_ui_Button_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function CellPanel_0(){
  ComplexPanel_0.call(this);
  this.table = $doc.createElement('table');
  this.body_0 = $doc.createElement('tbody');
  $appendChild(this.table, $resolve(this.body_0));
  $setElement(this, this.table);
}

function CellPanel(){
}

_ = CellPanel.prototype = new ComplexPanel;
_.getClass$ = function getClass_298(){
  return Lcom_google_gwt_user_client_ui_CellPanel_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.body_0 = null;
_.table = null;
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_0();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function $toString_0(this$static){
  var comma, iter, sb, value;
  sb = new StringBuffer_0;
  comma = null;
  sb.impl.string += '[';
  iter = this$static.iterator();
  while (iter.hasNext()) {
    comma != null?($append_1(sb.impl, comma) , sb):(comma = ', ');
    value = iter.next_0();
    $append_1(sb.impl, value === this$static?'(this Collection)':'' + value);
  }
  sb.impl.string += ']';
  return sb.impl.string;
}

function AbstractCollection(){
}

_ = AbstractCollection.prototype = new Object_0;
_.add = function add_1(o){
  throw new UnsupportedOperationException_1('Add not supported on this collection');
}
;
_.addAll = function addAll(c){
  var changed, iter;
  iter = c.iterator();
  changed = false;
  while (iter.hasNext()) {
    this.add(iter.next_0()) && (changed = true);
  }
  return changed;
}
;
_.contains = function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator(), o);
  return !!iter;
}
;
_.getClass$ = function getClass_299(){
  return Ljava_util_AbstractCollection_2_classLit;
}
;
_.isEmpty = function isEmpty(){
  return this.size_0() == 0;
}
;
_.remove_0 = function remove_2(o){
  var iter;
  iter = $advanceToFind(this.iterator(), o);
  if (iter) {
    iter.remove_2();
    return true;
  }
   else {
    return false;
  }
}
;
_.toArray = function toArray(){
  return this.toArray_0(initDim(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, this.size_0(), 0));
}
;
_.toArray_0 = function toArray_0(a){
  var i, it, size;
  size = this.size_0();
  a.length < size && (a = createFrom(a, size));
  it = this.iterator();
  for (i = 0; i < size; ++i) {
    setCheck(a, i, it.next_0());
  }
  a.length > size && setCheck(a, size, null);
  return a;
}
;
_.toString$ = function toString_11(){
  return $toString_0(this);
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection]);
function $equals_0(this$static, o){
  var elem, elemOther, iter, iterOther, other;
  if (o === this$static) {
    return true;
  }
  if (!instanceOf(o, Q$List)) {
    return false;
  }
  other = dynamicCast(o, Q$List);
  if (this$static.size_0() != other.size_0()) {
    return false;
  }
  iter = this$static.iterator();
  iterOther = other.iterator();
  while (iter.hasNext()) {
    elem = iter.next_0();
    elemOther = iterOther.next_0();
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}

function $hashCode_0(this$static){
  var iter, k, obj;
  k = 1;
  iter = this$static.iterator();
  while (iter.hasNext()) {
    obj = iter.next_0();
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
    k = ~~k;
  }
  return k;
}

function $indexOf(this$static, toFind){
  var i, n;
  for (i = 0 , n = this$static.size_0(); i < n; ++i) {
    if (toFind == null?this$static.get(i) == null:equals__devirtual$(toFind, this$static.get(i))) {
      return i;
    }
  }
  return -1;
}

function checkIndex(index, size){
  (index < 0 || index >= size) && indexOutOfBounds(index, size);
}

function indexOutOfBounds(index, size){
  throw new IndexOutOfBoundsException_1('Index: ' + index + ', Size: ' + size);
}

function AbstractList(){
}

_ = AbstractList.prototype = new AbstractCollection;
_.add = function add_2(obj){
  this.add_0(this.size_0(), obj);
  return true;
}
;
_.add_0 = function add_3(index, element){
  throw new UnsupportedOperationException_1('Add not supported on this list');
}
;
_.equals$ = function equals_8(o){
  return $equals_0(this, o);
}
;
_.getClass$ = function getClass_300(){
  return Ljava_util_AbstractList_2_classLit;
}
;
_.hashCode$ = function hashCode_10(){
  return $hashCode_0(this);
}
;
_.indexOf_0 = function indexOf(toFind){
  return $indexOf(this, toFind);
}
;
_.iterator = function iterator_0(){
  return new AbstractList$IteratorImpl_0(this);
}
;
_.listIterator = function listIterator(){
  return this.listIterator_0(0);
}
;
_.listIterator_0 = function listIterator_0(from){
  return new AbstractList$ListIteratorImpl_0(this, from);
}
;
_.remove_1 = function remove_3(index){
  throw new UnsupportedOperationException_1('Remove not supported on this list');
}
;
_.subList = function subList(fromIndex, toIndex){
  return new AbstractList$SubList_0(this, fromIndex, toIndex);
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$List]);
function $add_1(this$static, o){
  setCheck(this$static.array, this$static.size++, o);
  return true;
}

function $add_2(this$static, index, o){
  (index < 0 || index > this$static.size) && indexOutOfBounds(index, this$static.size);
  splice_1(this$static.array, index, 0, o);
  ++this$static.size;
}

function $addAll(this$static, c){
  var cArray, len;
  cArray = c.toArray();
  len = cArray.length;
  if (len == 0) {
    return false;
  }
  spliceArray(this$static.array, this$static.size, 0, cArray);
  this$static.size += len;
  return true;
}

function $clear(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, 0, 0);
  this$static.size = 0;
}

function $get(this$static, index){
  checkIndex(index, this$static.size);
  return this$static.array[index];
}

function $indexOf_0(this$static, o, index){
  for (; index < this$static.size; ++index) {
    if (equalsWithNullCheck(o, this$static.array[index])) {
      return index;
    }
  }
  return -1;
}

function $remove_1(this$static, index){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  splice_0(this$static.array, index, 1);
  --this$static.size;
  return previous;
}

function $remove_2(this$static, o){
  var i;
  i = $indexOf_0(this$static, o, 0);
  if (i == -1) {
    return false;
  }
  $remove_1(this$static, i);
  return true;
}

function $set(this$static, index, o){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  setCheck(this$static.array, index, o);
  return previous;
}

function $toArray(this$static){
  return cloneSubrange(this$static.array, this$static.size);
}

function $toArray_0(this$static, out){
  var i;
  out.length < this$static.size && (out = createFrom(out, this$static.size));
  for (i = 0; i < this$static.size; ++i) {
    setCheck(out, i, this$static.array[i]);
  }
  out.length > this$static.size && setCheck(out, this$static.size, null);
  return out;
}

function ArrayList_0(){
  this.array = initDim(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, 0, 0);
}

function splice_0(array, index, deleteCount){
  array.splice(index, deleteCount);
}

function splice_1(array, index, deleteCount, value){
  array.splice(index, deleteCount, value);
}

function spliceArray(array, index, deleteCount, values){
  Array.prototype.splice.apply(array, [index, deleteCount].concat(values));
}

function ArrayList(){
}

_ = ArrayList_0.prototype = ArrayList.prototype = new AbstractList;
_.add = function add_4(o){
  return $add_1(this, o);
}
;
_.add_0 = function add_5(index, o){
  $add_2(this, index, o);
}
;
_.addAll = function addAll_0(c){
  return $addAll(this, c);
}
;
_.contains = function contains_0(o){
  return $indexOf_0(this, o, 0) != -1;
}
;
_.get = function get(index){
  return $get(this, index);
}
;
_.getClass$ = function getClass_301(){
  return Ljava_util_ArrayList_2_classLit;
}
;
_.indexOf_0 = function indexOf_0(o){
  return $indexOf_0(this, o, 0);
}
;
_.isEmpty = function isEmpty_0(){
  return this.size == 0;
}
;
_.remove_1 = function remove_4(index){
  return $remove_1(this, index);
}
;
_.remove_0 = function remove_5(o){
  return $remove_2(this, o);
}
;
_.size_0 = function size_0(){
  return this.size;
}
;
_.toArray = function toArray_1(){
  return $toArray(this);
}
;
_.toArray_0 = function toArray_2(out){
  return $toArray_0(this, out);
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
_.size = 0;
function ChangeListenerCollection_0(){
  ArrayList_0.call(this);
}

function ChangeListenerCollection(){
}

_ = ChangeListenerCollection_0.prototype = ChangeListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_302(){
  return Lcom_google_gwt_user_client_ui_ChangeListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_124(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_121(streamReader){
  return new ChangeListenerCollection_0;
}

function ClickListenerCollection_0(){
  ArrayList_0.call(this);
}

function ClickListenerCollection(){
}

_ = ClickListenerCollection_0.prototype = ClickListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_303(){
  return Lcom_google_gwt_user_client_ui_ClickListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_125(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_122(streamReader){
  return new ClickListenerCollection_0;
}

function $add_3(this$static, w){
  var container, container_0, element;
  container = (container_0 = $doc.createElement('div') , container_0.style['width'] = '100%' , container_0.style['height'] = '0px' , container_0.style['padding'] = '0px' , container_0.style['margin'] = '0px' , container_0);
  $appendChild(this$static.element, $resolve(container));
  $add(this$static, w, container);
  setVisible(container, false);
  container.style['height'] = '100%';
  element = w.element;
  $equals_1(element.style['width'], '') && w.setWidth('100%');
  $equals_1(element.style['height'], '') && w.setHeight('100%');
  w.setVisible(false);
}

function $showWidget(this$static, index){
  var oldWidget;
  $checkIndexBoundsForAccess(this$static, index);
  oldWidget = this$static.visibleWidget;
  this$static.visibleWidget = $get_0(this$static.children, index);
  if (this$static.visibleWidget != oldWidget) {
    !slideAnimation && (slideAnimation = new DeckPanel$SlideAnimation_0);
    $showWidget_0(slideAnimation, oldWidget, this$static.visibleWidget);
  }
}

function DeckPanel_0(){
  ComplexPanel_0.call(this);
  $setElement(this, $doc.createElement('div'));
}

function DeckPanel(){
}

_ = DeckPanel_0.prototype = DeckPanel.prototype = new ComplexPanel;
_.getClass$ = function getClass_304(){
  return Lcom_google_gwt_user_client_ui_DeckPanel_2_classLit;
}
;
--></script>
<script><!--
_.remove = function remove_6(w){
  var container, removed;
  container = $getParentElement(w.element);
  removed = $remove(this, w);
  if (removed) {
    w.setSize('', '');
    w.setVisible(true);
    $removeChild(this.element, container);
    this.visibleWidget == w && (this.visibleWidget = null);
  }
  return removed;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.visibleWidget = null;
var slideAnimation = null;
function $onUpdate(this$static, progress){
  var height1, height2;
  this$static.growing || (progress = 1 - progress);
  height1 = round_int(progress * $getPropertyInt(this$static.container1, 'scrollHeight'));
  height2 = round_int((1 - progress) * $getPropertyInt(this$static.container2, 'scrollHeight'));
  if (height1 == 0) {
    height1 = 1;
    height2 = 1 > height2 - 1?1:height2 - 1;
  }
   else if (height2 == 0) {
    height2 = 1;
    height1 = 1 > height1 - 1?1:height1 - 1;
  }
  setStyleAttribute(this$static.container1, 'height', height1 + 'px');
  setStyleAttribute(this$static.container2, 'height', height2 + 'px');
}

function $showWidget_0(this$static, oldWidget, newWidget){
  var newContainer, newIndex, oldContainer, oldIndex;
  $cancel(this$static);
  newContainer = $getParentElement(newWidget.element);
  newIndex = $getChildIndex($getParentElement(newContainer), newContainer);
  if (!oldWidget) {
    setVisible(newContainer, true);
    newWidget.setVisible(true);
    return;
  }
  this$static.oldWidget = oldWidget;
  oldContainer = $getParentElement(oldWidget.element);
  oldIndex = $getChildIndex($getParentElement(oldContainer), oldContainer);
  if (newIndex > oldIndex) {
    this$static.container1 = oldContainer;
    this$static.container2 = newContainer;
    this$static.growing = false;
  }
   else {
    this$static.container1 = newContainer;
    this$static.container2 = oldContainer;
    this$static.growing = true;
  }
  setVisible(this$static.container1, this$static.growing);
  setVisible(this$static.container2, !this$static.growing);
  this$static.container1 = null;
  this$static.container2 = null;
  this$static.oldWidget.setVisible(false);
  this$static.oldWidget = null;
  newWidget.setVisible(true);
}

function DeckPanel$SlideAnimation_0(){
  Animation_0.call(this);
}

function DeckPanel$SlideAnimation(){
}

_ = DeckPanel$SlideAnimation_0.prototype = DeckPanel$SlideAnimation.prototype = new Animation;
_.getClass$ = function getClass_305(){
  return Lcom_google_gwt_user_client_ui_DeckPanel$SlideAnimation_2_classLit;
}
;
_.onComplete = function onComplete_0(){
  if (this.growing) {
    this.container1.style['height'] = '100%';
    setVisible(this.container1, true);
    setVisible(this.container2, false);
    this.container2.style['height'] = '100%';
  }
   else {
    setVisible(this.container1, false);
    this.container1.style['height'] = '100%';
    this.container2.style['height'] = '100%';
    setVisible(this.container2, true);
  }
  this.container1.style['overflow'] = 'visible';
  this.container2.style['overflow'] = 'visible';
  this.container1 = null;
  this.container2 = null;
  this.oldWidget.setVisible(false);
  this.oldWidget = null;
}
;
_.onStart = function onStart_0(){
  this.container1.style['overflow'] = 'hidden';
  this.container2.style['overflow'] = 'hidden';
  $onUpdate(this, 0);
  setVisible(this.container1, true);
  setVisible(this.container2, true);
}
;
_.onUpdate = function onUpdate(progress){
  $onUpdate(this, progress);
}
;
_.container1 = null;
_.container2 = null;
_.growing = false;
_.oldWidget = null;
function $add_4(this$static, w){
  if (this$static.widget) {
    throw new IllegalStateException_1('SimplePanel can only contain one child widget');
  }
  $setWidget(this$static, w);
}

function $remove_3(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    $removeChild(this$static.getContainerElement(), w.element);
    this$static.widget = null;
  }
  return true;
}

function $setWidget(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  !!w && $removeFromParent(w);
  !!this$static.widget && this$static.remove(this$static.widget);
  this$static.widget = w;
  if (w) {
    $appendChild(this$static.getContainerElement(), $resolve(this$static.widget.element));
    $setParent(w, this$static);
  }
}

function SimplePanel_0(){
  SimplePanel_1.call(this, $doc.createElement('div'));
}

function SimplePanel_1(elem){
  this.element = elem;
}

function SimplePanel(){
}

_ = SimplePanel_0.prototype = SimplePanel.prototype = new Panel;
_.getClass$ = function getClass_306(){
  return Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit;
}
;
_.getContainerElement = function getContainerElement(){
  return this.element;
}
;
_.iterator = function iterator_1(){
  return new SimplePanel$1_0(this);
}
;
_.remove = function remove_7(w){
  return $remove_3(this, w);
}
;
_.setWidget = function setWidget(w){
  $setWidget(this, w);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.widget = null;
function $center(this$static){
  var initiallyAnimated, initiallyShowing, left, top_0;
  initiallyShowing = this$static.showing;
  initiallyAnimated = this$static.isAnimationEnabled;
  if (!initiallyShowing) {
    this$static.element.style['visibility'] = 'hidden';
    this$static.element;
    this$static.isAnimationEnabled = false;
    !this$static.resizeHandlerRegistration && (this$static.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(this$static)));
    $show(this$static);
  }
  left = ~~($getClientWidth($doc) - $getPropertyInt(this$static.element, 'offsetWidth')) >> 1;
  top_0 = ~~($getClientHeight($doc) - $getPropertyInt(this$static.element, 'offsetHeight')) >> 1;
  $setPopupPosition(this$static, max($getScrollLeft($doc.body) + left, 0), max(($doc.body.scrollTop || 0) + top_0, 0));
  if (!initiallyShowing) {
    this$static.isAnimationEnabled = initiallyAnimated;
    if (initiallyAnimated) {
      $setClip(this$static.element, 'rect(0px, 0px, 0px, 0px)');
      this$static.element.style['visibility'] = 'visible';
      this$static.element;
      $run(this$static.resizeAnimation, currentTimeMillis());
    }
     else {
      this$static.element.style['visibility'] = 'visible';
      this$static.element;
    }
  }
}

function $eventTargetsPopup(this$static, event_0){
  var target;
  target = event_0.target;
  if (is_0(target)) {
    return $isOrHasChild(this$static.element, target);
  }
  return false;
}

function $hide(this$static){
  if (!this$static.showing) {
    return;
  }
  $setState(this$static.resizeAnimation, false, false);
  fire_1(this$static);
}

function $maybeUpdateSize(this$static){
  var w;
  w = this$static.widget;
  if (w) {
    this$static.desiredHeight != null && w.setHeight(this$static.desiredHeight);
    this$static.desiredWidth != null && w.setWidth(this$static.desiredWidth);
  }
}

function $previewNativeEvent(this$static, event_0){
  var eventTargetsPopupOrPartner, nativeEvent, target, type;
  if (event_0.isCanceled || !this$static.previewAllNativeEvents && event_0.isConsumed) {
    this$static.modal && (event_0.isCanceled = true);
    return;
  }
  this$static.onPreviewNativeEvent(event_0);
  if (event_0.isCanceled) {
    return;
  }
  nativeEvent = event_0.nativeEvent;
  eventTargetsPopupOrPartner = $eventTargetsPopup(this$static, nativeEvent);
  eventTargetsPopupOrPartner && (event_0.isConsumed = true);
  this$static.modal && (event_0.isCanceled = true);
  type = $eventGetTypeInt(nativeEvent.type);
  switch (type) {
    case 512:
    case 256:
    case 128:
      {
        return;
      }

    case 4:
      if (sCaptureElem) {
        event_0.isConsumed = true;
        return;
      }

      if (!eventTargetsPopupOrPartner && this$static.autoHide) {
        $hide(this$static);
        return;
      }

      break;
    case 8:
    case 64:
    case 1:
    case 2:
      {
        if (sCaptureElem) {
          event_0.isConsumed = true;
          return;
        }
        break;
      }

    case 2048:
      {
        target = nativeEvent.target;
        if (this$static.modal && !eventTargetsPopupOrPartner && !!target) {
          target.blur && target != $doc.body && target.blur();
          event_0.isCanceled = true;
          return;
        }
        break;
      }

  }
}

function $setPopupPosition(this$static, left, top_0){
  var elem;
  this$static.leftPosition = left;
  this$static.topPosition = top_0;
  left -= 0;
  top_0 -= 0;
  elem = this$static.element;
  elem.style['left'] = left + ($clinit_Style$Unit() , 'px');
  elem.style['top'] = top_0 + 'px';
}

function $setWidget_0(this$static, w){
  $setWidget(this$static, w);
  $maybeUpdateSize(this$static);
}

function $show(this$static){
  if (this$static.showing) {
    return;
  }
   else 
    this$static.attached && $removeFromParent(this$static);
  $setState(this$static.resizeAnimation, true, false);
}

function $updateHandlers(this$static){
  if (this$static.nativePreviewHandlerRegistration) {
    $removeHandler(this$static.nativePreviewHandlerRegistration.real);
    this$static.nativePreviewHandlerRegistration = null;
  }
  if (this$static.historyHandlerRegistration) {
    $removeHandler(this$static.historyHandlerRegistration.real);
    this$static.historyHandlerRegistration = null;
  }
  if (this$static.showing) {
    this$static.nativePreviewHandlerRegistration = addNativePreviewHandler(new PopupPanel$3_0(this$static));
    this$static.historyHandlerRegistration = addValueChangeHandler(new PopupPanel$4_0(this$static));
  }
}

function PopupPanel(){
}

_ = PopupPanel.prototype = new SimplePanel;
_.getClass$ = function getClass_307(){
  return Lcom_google_gwt_user_client_ui_PopupPanel_2_classLit;
}
;
_.getContainerElement = function getContainerElement_0(){
  return $getFirstChildElement(this.element);
}
;
_.getOffsetHeight = function getOffsetHeight_0(){
  return $getPropertyInt(this.element, 'offsetHeight');
}
;
_.getStyleElement = function getStyleElement_0(){
  return $getParentElement($getFirstChildElement(this.element));
}
;
_.hide = function hide(){
  $hide(this);
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent_0(event_0){
  event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
}
;
_.onUnload = function onUnload_1(){
  this.showing && $setState(this.resizeAnimation, false, true);
}
;
_.setHeight = function setHeight_0(height){
  this.desiredHeight = height;
  $maybeUpdateSize(this);
  height.length == 0 && (this.desiredHeight = null);
}
;
_.setVisible = function setVisible_1(visible){
  setStyleAttribute(this.element, 'visibility', visible?'visible':'hidden');
}
;
_.setWidget = function setWidget_0(w){
  $setWidget_0(this, w);
}
;
_.setWidth = function setWidth_0(width){
  this.desiredWidth = width;
  $maybeUpdateSize(this);
  width.length == 0 && (this.desiredWidth = null);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.autoHide = false;
_.autoHideOnHistoryEvents = false;
_.desiredHeight = null;
_.desiredWidth = null;
_.glass = null;
_.historyHandlerRegistration = null;
_.isAnimationEnabled = false;
_.isGlassEnabled = false;
_.leftPosition = -1;
_.modal = false;
_.nativePreviewHandlerRegistration = null;
_.previewAllNativeEvents = false;
_.showing = false;
_.topPosition = -1;
function DecoratedPopupPanel(){
}

_ = DecoratedPopupPanel.prototype = new PopupPanel;
_.doAttachChildren = function doAttachChildren_1(){
  $onAttach(this.decPanel);
}
;
_.doDetachChildren = function doDetachChildren_1(){
  $onDetach(this.decPanel);
}
;
_.getClass$ = function getClass_308(){
  return Lcom_google_gwt_user_client_ui_DecoratedPopupPanel_2_classLit;
}
;
_.iterator = function iterator_2(){
  return new SimplePanel$1_0(this.decPanel);
}
;
_.remove = function remove_8(w){
  return $remove_3(this.decPanel, w);
}
;
_.setWidget = function setWidget_1(w){
  $setWidget(this.decPanel, w);
  $maybeUpdateSize(this);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.decPanel = null;
function $getCellElement(this$static){
  var td, tr;
  tr = $getChild_0(this$static.tbody, 0);
  td = $getChild_0(tr, 1);
  return $getFirstChildElement(td);
}

function DecoratorPanel_0(rowStyles){
  var i, row, table, trElem;
  SimplePanel_1.call(this, $doc.createElement('table'));
  table = this.element;
  this.tbody = $doc.createElement('tbody');
  $appendChild(table, $resolve(this.tbody));
  table['cellSpacing'] = 0;
  table['cellPadding'] = 0;
  for (i = 0; i < rowStyles.length; ++i) {
    row = (trElem = $doc.createElement('tr') , trElem['className'] = rowStyles[i] , $appendChild(trElem, $resolve(createTD(rowStyles[i] + 'Left'))) , $appendChild(trElem, $resolve(createTD(rowStyles[i] + 'Center'))) , $appendChild(trElem, $resolve(createTD(rowStyles[i] + 'Right'))) , trElem);
    $appendChild(this.tbody, $resolve(row));
    i == 1 && (this.containerElem = $getFirstChildElement($getChild_0(row, 1)));
  }
  this.element['className'] = 'gwt-DecoratorPanel';
}

function createTD(styleName){
  var inner, tdElem;
  tdElem = $doc.createElement('td');
  inner = $doc.createElement('div');
  $appendChild(tdElem, $resolve(inner));
  tdElem['className'] = styleName;
  inner['className'] = styleName + 'Inner';
  return tdElem;
}

function DecoratorPanel(){
}

_ = DecoratorPanel_0.prototype = DecoratorPanel.prototype = new SimplePanel;
_.getClass$ = function getClass_309(){
  return Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classLit;
}
;
_.getContainerElement = function getContainerElement_1(){
  return this.containerElem;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.containerElem = null;
_.tbody = null;
function $beginDragging(this$static, event_0){
  $onMouseDown(this$static, (this$static.caption , $getX(event_0)), $getY(event_0));
}

function $continueDragging(this$static, event_0){
  $onMouseMove(this$static, (this$static.caption , $getX(event_0)), $getY(event_0));
}

function $endDragging(this$static, event_0){
  $onMouseUp(this$static, (this$static.caption , $getX(event_0) , $getY(event_0)));
}

function $hide_0(this$static){
  if (this$static.resizeHandlerRegistration) {
    $removeHandler(this$static.resizeHandlerRegistration.real);
    this$static.resizeHandlerRegistration = null;
  }
  $hide(this$static);
}

function $isCaptionEvent(this$static, event_0){
  var target;
  target = event_0.target;
  if (is_0(target)) {
    return $isOrHasChild($getParentElement($getCellElement(this$static.decPanel)), target);
  }
  return false;
}

function $onMouseDown(this$static, x, y){
  if (!sCaptureElem) {
    this$static.dragging = true;
    setCapture(this$static.element);
    this$static.dragStartX = x;
    this$static.dragStartY = y;
  }
}

function $onMouseMove(this$static, x, y){
  var absX, absY;
  if (this$static.dragging) {
    absX = x + $getAbsoluteLeft(this$static.element);
    absY = y + $getAbsoluteTop(this$static.element);
    if (absX < this$static.clientLeft || absX >= this$static.windowWidth || absY < this$static.clientTop) {
      return;
    }
    $setPopupPosition(this$static, absX - this$static.dragStartX, absY - this$static.dragStartY);
  }
}

function $onMouseUp(this$static){
  this$static.dragging = false;
  releaseCapture(this$static.element);
}

function $show_0(this$static){
  !this$static.resizeHandlerRegistration && (this$static.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(this$static)));
  $show(this$static);
}

function DialogBox_0(){
  DialogBox_1.call(this, new DialogBox$CaptionImpl_0);
}

function DialogBox_1(captionWidget){
  var mouseHandler, td, rowStyles;
  SimplePanel_0.call(this);
  this.glassResizer = new PopupPanel$1_0;
  this.animType = ($clinit_PopupPanel$AnimationType() , CENTER_2);
  this.resizeAnimation = new PopupPanel$ResizeAnimation_0(this);
  $appendChild(this.element, $doc.createElement('div'));
  $setPopupPosition(this, 0, 0);
  $getParentElement($getFirstChildElement(this.element))['className'] = 'gwt-PopupPanel';
  $getFirstChildElement(this.element)['className'] = 'popupContent';
  this.autoHide = false;
  this.autoHideOnHistoryEvents = false;
  this.modal = true;
  rowStyles = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['dialogTop', 'dialogMiddle', 'dialogBottom']);
  this.decPanel = new DecoratorPanel_0(rowStyles);
  $setStyleName(this.decPanel, '');
  setStylePrimaryName($getParentElement($getFirstChildElement(this.element)), 'gwt-DecoratedPopupPanel');
  $setWidget_0(this, this.decPanel);
  setStyleName($getFirstChildElement(this.element), 'popupContent', false);
  setStyleName(this.decPanel.containerElem, 'dialogContent', true);
  $removeFromParent(captionWidget);
  this.caption = captionWidget;
  td = $getCellElement(this.decPanel);
  $appendChild(td, $resolve(this.caption.element));
  $adopt(this, this.caption);
  $getParentElement($getFirstChildElement(this.element))['className'] = 'gwt-DialogBox';
  this.windowWidth = $getClientWidth($doc);
  this.clientLeft = 0;
  this.clientTop = 0;
  mouseHandler = new DialogBox$MouseHandler_0(this);
  $addDomHandler(this, mouseHandler, ($clinit_MouseDownEvent() , $clinit_MouseDownEvent() , TYPE_0));
  $addDomHandler(this, mouseHandler, ($clinit_MouseUpEvent() , $clinit_MouseUpEvent() , TYPE_4));
  $addDomHandler(this, mouseHandler, ($clinit_MouseMoveEvent() , $clinit_MouseMoveEvent() , TYPE_1));
  $addDomHandler(this, mouseHandler, ($clinit_MouseOverEvent() , $clinit_MouseOverEvent() , TYPE_3));
  $addDomHandler(this, mouseHandler, ($clinit_MouseOutEvent() , $clinit_MouseOutEvent() , TYPE_2));
}

function DialogBox(){
}

_ = DialogBox_0.prototype = DialogBox.prototype = new DecoratedPopupPanel;
_.doAttachChildren = function doAttachChildren_2(){
  try {
    $onAttach(this.decPanel);
  }
   finally {
    $onAttach(this.caption);
  }
}
;
_.doDetachChildren = function doDetachChildren_2(){
  try {
    $onDetach(this.decPanel);
  }
   finally {
    $onDetach(this.caption);
  }
}
;
_.getClass$ = function getClass_310(){
  return Lcom_google_gwt_user_client_ui_DialogBox_2_classLit;
}
;
_.hide = function hide_0(){
  $hide_0(this);
}
;
_.onBrowserEvent = function onBrowserEvent_2(event_0){
  switch ($eventGetTypeInt(event_0.type)) {
    case 4:
    case 8:
    case 64:
    case 16:
    case 32:
      if (!this.dragging && !$isCaptionEvent(this, event_0)) {
        return;
      }

  }
  $onBrowserEvent_0(this, event_0);
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent_1(event_0){
  var nativeEvent;
  nativeEvent = event_0.nativeEvent;
  !event_0.isCanceled && $eventGetTypeInt(event_0.nativeEvent.type) == 4 && $isCaptionEvent(this, nativeEvent) && (nativeEvent.preventDefault() , undefined);
  event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.caption = null;
_.clientLeft = 0;
_.clientTop = 0;
_.dragStartX = 0;
_.dragStartY = 0;
_.dragging = false;
_.resizeHandlerRegistration = null;
_.windowWidth = 0;
function DialogBox$1_0(this$0){
  this.this$0 = this$0;
}

function DialogBox$1(){
}

_ = DialogBox$1_0.prototype = DialogBox$1.prototype = new Object_0;
_.getClass$ = function getClass_311(){
  return Lcom_google_gwt_user_client_ui_DialogBox$1_2_classLit;
}
;
_.onResize = function onResize_1(event_0){
  this.this$0.windowWidth = event_0.width;
}
;
_.castableTypeMap$ = makeCastMap([Q$ResizeHandler, Q$EventHandler]);
_.this$0 = null;
function LabelBase_0(element){
  this.element = element;
  this.directionalTextHelper = new DirectionalTextHelper_0(this.element);
}

function LabelBase(){
}

_ = LabelBase.prototype = new Widget;
_.getClass$ = function getClass_312(){
  return Lcom_google_gwt_user_client_ui_LabelBase_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
_.directionalTextHelper = null;
function $setText(this$static, text){
  $setTextOrHtml(this$static.directionalTextHelper, text, false);
}

function Label_0(text){
  LabelBase_0.call(this, $doc.createElement('div'));
  this.element['className'] = 'gwt-Label';
  $setTextOrHtml(this.directionalTextHelper, text, false);
}

function Label_1(element){
  LabelBase_0.call(this, element, $equalsIgnoreCase('span', element.tagName));
}

function Label(){
}

_ = Label_0.prototype = Label.prototype = new LabelBase;
_.getClass$ = function getClass_313(){
  return Lcom_google_gwt_user_client_ui_Label_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function HTML_0(){
  Label_1.call(this, $doc.createElement('div'));
  this.element['className'] = 'gwt-HTML';
}

function HTML_1(html){
  HTML_0.call(this);
  $setTextOrHtml(this.directionalTextHelper, html, true);
}

function HTML(){
}

_ = HTML_1.prototype = HTML_0.prototype = HTML.prototype = new Label;
_.getClass$ = function getClass_314(){
  return Lcom_google_gwt_user_client_ui_HTML_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function DialogBox$CaptionImpl_0(){
  HTML_0.call(this);
  this.element['className'] = 'Caption';
}

function DialogBox$CaptionImpl(){
}

_ = DialogBox$CaptionImpl_0.prototype = DialogBox$CaptionImpl.prototype = new HTML;
_.getClass$ = function getClass_315(){
  return Lcom_google_gwt_user_client_ui_DialogBox$CaptionImpl_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function DialogBox$MouseHandler_0(this$0){
  this.this$0 = this$0;
}

function DialogBox$MouseHandler(){
}

_ = DialogBox$MouseHandler_0.prototype = DialogBox$MouseHandler.prototype = new Object_0;
_.getClass$ = function getClass_316(){
  return Lcom_google_gwt_user_client_ui_DialogBox$MouseHandler_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$MouseDownHandler, Q$MouseMoveHandler, Q$MouseOutHandler, Q$MouseOverHandler, Q$MouseUpHandler, Q$EventHandler, Q$DialogBox$MouseHandler]);
_.this$0 = null;
function $setTextOrHtml(this$static, content_0, isHtml){
  isHtml?$setInnerHTML(this$static.element, content_0):$setInnerText(this$static.element, content_0);
  if (this$static.textDir != this$static.initialElementDir) {
    this$static.textDir = this$static.initialElementDir;
    setDirectionOnElement(this$static.element, this$static.initialElementDir);
  }
}

function DirectionalTextHelper_0(element){
  this.element = element;
  this.initialElementDir = getDirectionOnElement(element);
  this.textDir = this.initialElementDir;
}

function DirectionalTextHelper(){
}

_ = DirectionalTextHelper_0.prototype = DirectionalTextHelper.prototype = new Object_0;
_.getClass$ = function getClass_317(){
  return Lcom_google_gwt_user_client_ui_DirectionalTextHelper_2_classLit;
}
;
_.element = null;
_.initialElementDir = null;
_.textDir = null;
function $clinit_DockLayoutPanel$Direction(){
  $clinit_DockLayoutPanel$Direction = nullMethod;
  NORTH = new DockLayoutPanel$Direction_0('NORTH', 0);
  EAST = new DockLayoutPanel$Direction_0('EAST', 1);
  SOUTH = new DockLayoutPanel$Direction_0('SOUTH', 2);
  WEST = new DockLayoutPanel$Direction_0('WEST', 3);
  CENTER_1 = new DockLayoutPanel$Direction_0('CENTER', 4);
  LINE_START = new DockLayoutPanel$Direction_0('LINE_START', 5);
  LINE_END = new DockLayoutPanel$Direction_0('LINE_END', 6);
  $VALUES_31 = initValues(_3Lcom_google_gwt_user_client_ui_DockLayoutPanel$Direction_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$DockLayoutPanel$Direction, [NORTH, EAST, SOUTH, WEST, CENTER_1, LINE_START, LINE_END]);
}

function DockLayoutPanel$Direction_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_32(){
  $clinit_DockLayoutPanel$Direction();
  return $VALUES_31;
}

function DockLayoutPanel$Direction(){
}

_ = DockLayoutPanel$Direction_0.prototype = DockLayoutPanel$Direction.prototype = new Enum;
_.getClass$ = function getClass_318(){
  return Lcom_google_gwt_user_client_ui_DockLayoutPanel$Direction_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$DockLayoutPanel$Direction, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_31, CENTER_1, EAST, LINE_END, LINE_START, NORTH, SOUTH, WEST;
function deserialize_126(streamReader, instance){
}

function instantiate_123(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_DockLayoutPanel$Direction() , $clinit_DockLayoutPanel$Direction() , $VALUES_31);
  return values[ordinal];
}

function FocusListenerCollection_0(){
  ArrayList_0.call(this);
}

function FocusListenerCollection(){
}

_ = FocusListenerCollection_0.prototype = FocusListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_319(){
  return Lcom_google_gwt_user_client_ui_FocusListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_127(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_124(streamReader){
  return new FocusListenerCollection_0;
}

function FormHandlerCollection_0(){
  ArrayList_0.call(this);
}

function FormHandlerCollection(){
}

_ = FormHandlerCollection_0.prototype = FormHandlerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_320(){
  return Lcom_google_gwt_user_client_ui_FormHandlerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_128(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_125(streamReader){
  return new FormHandlerCollection_0;
}

function $clinit_HasHorizontalAlignment(){
  $clinit_HasHorizontalAlignment = nullMethod;
  new HasHorizontalAlignment$HorizontalAlignmentConstant_0('center');
  new HasHorizontalAlignment$HorizontalAlignmentConstant_0('justify');
  ALIGN_LEFT = new HasHorizontalAlignment$HorizontalAlignmentConstant_0('left');
  ALIGN_RIGHT = new HasHorizontalAlignment$HorizontalAlignmentConstant_0('right');
  ALIGN_LOCALE_START = ALIGN_LEFT;
  ALIGN_DEFAULT = ALIGN_LOCALE_START;
}

var ALIGN_DEFAULT, ALIGN_LEFT, ALIGN_LOCALE_START, ALIGN_RIGHT;
function HasHorizontalAlignment$AutoHorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$AutoHorizontalAlignmentConstant.prototype = new Object_0;
_.getClass$ = function getClass_321(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_2_classLit;
}
;
function HasHorizontalAlignment$HorizontalAlignmentConstant_0(textAlignString){
  this.textAlignString = textAlignString;
}

function HasHorizontalAlignment$HorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$HorizontalAlignmentConstant_0.prototype = HasHorizontalAlignment$HorizontalAlignmentConstant.prototype = new HasHorizontalAlignment$AutoHorizontalAlignmentConstant;
_.getClass$ = function getClass_322(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit;
}
;
_.textAlignString = null;
function $clinit_HasVerticalAlignment(){
  $clinit_HasVerticalAlignment = nullMethod;
  new HasVerticalAlignment$VerticalAlignmentConstant_0('bottom');
  new HasVerticalAlignment$VerticalAlignmentConstant_0('middle');
  ALIGN_TOP = new HasVerticalAlignment$VerticalAlignmentConstant_0('top');
}

var ALIGN_TOP;
function HasVerticalAlignment$VerticalAlignmentConstant_0(verticalAlignString){
  this.verticalAlignString = verticalAlignString;
}

function HasVerticalAlignment$VerticalAlignmentConstant(){
}

_ = HasVerticalAlignment$VerticalAlignmentConstant_0.prototype = HasVerticalAlignment$VerticalAlignmentConstant.prototype = new Object_0;
_.getClass$ = function getClass_323(){
  return Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit;
}
;
_.verticalAlignString = null;
function $add_5(this$static, w){
  var td, td_0;
  td = (td_0 = $doc.createElement('td') , td_0['align'] = this$static.horzAlign.textAlignString , setStyleAttribute(td_0, 'verticalAlign', this$static.vertAlign.verticalAlignString) , td_0);
  $appendChild(this$static.tableRow, $resolve(td));
  $add(this$static, w, td);
}

function HorizontalPanel_0(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_HasHorizontalAlignment() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_HasVerticalAlignment() , ALIGN_TOP);
  this.tableRow = $doc.createElement('tr');
  $appendChild(this.body_0, $resolve(this.tableRow));
  this.table['cellSpacing'] = '0';
  this.table['cellPadding'] = '0';
}

function HorizontalPanel(){
}

_ = HorizontalPanel_0.prototype = HorizontalPanel.prototype = new CellPanel;
_.getClass$ = function getClass_324(){
  return Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit;
}
;
_.remove = function remove_9(w){
  var removed, td;
  td = $getParentElement(w.element);
  removed = $remove(this, w);
  removed && $removeChild(this.tableRow, td);
  return removed;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.tableRow = null;
function $clinit_Image(){
  $clinit_Image = nullMethod;
  new HashMap_0;
}

--></script>
<script><!--
function $changeState(this$static, newState){
  this$static.state = newState;
}

function Image_1(resource){
  $clinit_Image();
  Image_2.call(this, resource.url.uri, resource.left_0, resource.top_0, resource.width, resource.height);
}

function Image_2(url, left, top_0, width, height){
  Image_3.call(this, ($clinit_UriUtils() , new SafeUriString_0(url)), left, top_0, width, height);
}

function Image_3(url, left, top_0, width, height){
  $changeState(this, new Image$ClippedState_0(this, url, left, top_0, width, height));
  this.element['className'] = 'gwt-Image';
}

function Image_0(){
}

_ = Image_1.prototype = Image_0.prototype = new Widget;
_.getClass$ = function getClass_325(){
  return Lcom_google_gwt_user_client_ui_Image_2_classLit;
}
;
_.onBrowserEvent = function onBrowserEvent_3(event_0){
  $eventGetTypeInt(event_0.type) == 32768 && !!this.state && (this.element['__gwtLastUnhandledEvent'] = '' , undefined);
  $onBrowserEvent_0(this, event_0);
}
;
_.onLoad = function onLoad_0(){
  $onLoad(this.state, this);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
_.state = null;
function $onLoad(this$static, image){
  var unhandledEvent;
  unhandledEvent = $getPropertyString(image.element, '__gwtLastUnhandledEvent');
  $equals_1('load', unhandledEvent) && (this$static.syntheticEventCommand = new Image$State$1_0(this$static, image) , $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), this$static.syntheticEventCommand));
}

function Image$State(){
}

_ = Image$State.prototype = new Object_0;
_.getClass$ = function getClass_326(){
  return Lcom_google_gwt_user_client_ui_Image$State_2_classLit;
}
;
_.syntheticEventCommand = null;
function $clinit_Image$ClippedState(){
  $clinit_Image$ClippedState = nullMethod;
  $clinit_ClippedImageImpl();
}

function Image$ClippedState_0(image, url, left, top_0, width, height){
  var tmp, style;
  $clinit_Image$ClippedState();
  $replaceElement(image, (tmp = $doc.createElement('span') , $setInnerHTML(tmp, (style = 'width: ' + width + 'px; height: ' + height + 'px; background: url(' + url.uri + ') no-repeat ' + -left + 'px ' + -top_0 + 'px;' , !template_0 && (template_0 = new ClippedImageImpl_TemplateImpl_0) , $image(clearImage, new SafeStylesString_0(style))).html) , $getFirstChildElement(tmp)));
  image.eventsToSink == -1?sinkEvents(image.element, 133333119 | (image.element.__eventBits || 0)):(image.eventsToSink |= 133333119);
}

function Image$ClippedState(){
}

_ = Image$ClippedState_0.prototype = Image$ClippedState.prototype = new Image$State;
_.getClass$ = function getClass_327(){
  return Lcom_google_gwt_user_client_ui_Image$ClippedState_2_classLit;
}
;
function Image$State$1_0(this$1, val$image){
  this.this$1 = this$1;
  this.val$image = val$image;
}

function Image$State$1(){
}

_ = Image$State$1_0.prototype = Image$State$1.prototype = new Object_0;
_.execute_1 = function execute_11(){
  var evt, evt_0;
  if (this.val$image.state != this.this$1 || this != this.this$1.syntheticEventCommand) {
    return;
  }
  this.this$1.syntheticEventCommand = null;
  if (!this.val$image.attached) {
    this.val$image.element['__gwtLastUnhandledEvent'] = 'load';
    return;
  }
  evt = (evt_0 = $doc.createEvent('HTMLEvents') , evt_0.initEvent('load', false, false) , evt_0);
  $dispatchEvent(this.val$image.element, evt);
}
;
_.getClass$ = function getClass_328(){
  return Lcom_google_gwt_user_client_ui_Image$State$1_2_classLit;
}
;
_.this$1 = null;
_.val$image = null;
function KeyboardListenerCollection_0(){
  ArrayList_0.call(this);
}

function KeyboardListenerCollection(){
}

_ = KeyboardListenerCollection_0.prototype = KeyboardListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_329(){
  return Lcom_google_gwt_user_client_ui_KeyboardListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_129(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_126(streamReader){
  return new KeyboardListenerCollection_0;
}

function LoadListenerCollection_0(){
  ArrayList_0.call(this);
}

function LoadListenerCollection(){
}

_ = LoadListenerCollection_0.prototype = LoadListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_330(){
  return Lcom_google_gwt_user_client_ui_LoadListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_130(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_127(streamReader){
  return new LoadListenerCollection_0;
}

function MouseListenerCollection_0(){
  ArrayList_0.call(this);
}

function MouseListenerCollection(){
}

_ = MouseListenerCollection_0.prototype = MouseListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_331(){
  return Lcom_google_gwt_user_client_ui_MouseListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_131(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_128(streamReader){
  return new MouseListenerCollection_0;
}

function MouseWheelListenerCollection_0(){
  ArrayList_0.call(this);
}

function MouseWheelListenerCollection(){
}

_ = MouseWheelListenerCollection_0.prototype = MouseWheelListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_332(){
  return Lcom_google_gwt_user_client_ui_MouseWheelListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_132(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_129(streamReader){
  return new MouseWheelListenerCollection_0;
}

function MultiWordSuggestOracle$MultiWordSuggestion_0(){
}

function MultiWordSuggestOracle$MultiWordSuggestion(){
}

_ = MultiWordSuggestOracle$MultiWordSuggestion_0.prototype = MultiWordSuggestOracle$MultiWordSuggestion.prototype = new Object_0;
_.getClass$ = function getClass_333(){
  return Lcom_google_gwt_user_client_ui_MultiWordSuggestOracle$MultiWordSuggestion_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$MultiWordSuggestOracle$MultiWordSuggestion, Q$SuggestOracle$Suggestion]);
_.displayString = null;
_.replacementString = null;
function deserialize_133(streamReader, instance){
  deserialize_66(streamReader, instance);
}

function instantiate_130(streamReader){
  var size;
  size = $readInt(streamReader);
  return initDim(_3Lcom_google_gwt_user_client_ui_MultiWordSuggestOracle$MultiWordSuggestion_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$MultiWordSuggestOracle$MultiWordSuggestion, size, 0);
}

function deserialize_134(streamReader, instance){
  setDisplayString(instance, $getString(streamReader, $readInt(streamReader)));
  setReplacementString(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_131(streamReader){
  return new MultiWordSuggestOracle$MultiWordSuggestion_0;
}

function setDisplayString(instance, value){
  instance.displayString = value;
}

function setReplacementString(instance, value){
  instance.replacementString = value;
}

function PopupListenerCollection_0(){
  ArrayList_0.call(this);
}

function PopupListenerCollection(){
}

_ = PopupListenerCollection_0.prototype = PopupListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_334(){
  return Lcom_google_gwt_user_client_ui_PopupListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_135(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_132(streamReader){
  return new PopupListenerCollection_0;
}

function $onResize(){
  var height, style, width, winHeight, winWidth;
  style = null.nullMethod();
  winWidth = $getClientWidth($doc);
  winHeight = $getClientHeight($doc);
  style['display'] = ($clinit_Style$Display() , 'none');
  style['width'] = 0 + ($clinit_Style$Unit() , 'px');
  style['height'] = '0px';
  width = $getScrollWidth($doc);
  height = $getScrollHeight($doc);
  style['width'] = (width > winWidth?width:winWidth) + 'px';
  style['height'] = (height > winHeight?height:winHeight) + 'px';
  style['display'] = 'block';
}

function PopupPanel$1_0(){
}

function PopupPanel$1(){
}

_ = PopupPanel$1_0.prototype = PopupPanel$1.prototype = new Object_0;
_.getClass$ = function getClass_335(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$1_2_classLit;
}
;
_.onResize = function onResize_2(event_0){
  $onResize();
}
;
_.castableTypeMap$ = makeCastMap([Q$ResizeHandler, Q$EventHandler]);
function PopupPanel$3_0(this$0){
  this.this$0 = this$0;
}

function PopupPanel$3(){
}

_ = PopupPanel$3_0.prototype = PopupPanel$3.prototype = new Object_0;
_.getClass$ = function getClass_336(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$3_2_classLit;
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent_2(event_0){
  $previewNativeEvent(this.this$0, event_0);
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler, Q$Event$NativePreviewHandler]);
_.this$0 = null;
function PopupPanel$4_0(this$0){
  this.this$0 = this$0;
}

function PopupPanel$4(){
}

_ = PopupPanel$4_0.prototype = PopupPanel$4.prototype = new Object_0;
_.getClass$ = function getClass_337(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ValueChangeHandler, Q$EventHandler]);
_.this$0 = null;
function $clinit_PopupPanel$AnimationType(){
  $clinit_PopupPanel$AnimationType = nullMethod;
  CENTER_2 = new PopupPanel$AnimationType_0('CENTER', 0);
  ONE_WAY_CORNER = new PopupPanel$AnimationType_0('ONE_WAY_CORNER', 1);
  ROLL_DOWN = new PopupPanel$AnimationType_0('ROLL_DOWN', 2);
  $VALUES_32 = initValues(_3Lcom_google_gwt_user_client_ui_PopupPanel$AnimationType_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$PopupPanel$AnimationType, [CENTER_2, ONE_WAY_CORNER, ROLL_DOWN]);
}

function PopupPanel$AnimationType_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_33(){
  $clinit_PopupPanel$AnimationType();
  return $VALUES_32;
}

function PopupPanel$AnimationType(){
}

_ = PopupPanel$AnimationType_0.prototype = PopupPanel$AnimationType.prototype = new Enum;
_.getClass$ = function getClass_338(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$AnimationType_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$PopupPanel$AnimationType, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_32, CENTER_2, ONE_WAY_CORNER, ROLL_DOWN;
function $maybeShowGlass(this$static){
  if (this$static.showing) {
    if (this$static.curPanel.isGlassEnabled) {
      $appendChild($doc.body, this$static.curPanel.glass);
      this$static.resizeRegistration = addResizeHandler(this$static.curPanel.glassResizer);
      $onResize();
      this$static.glassShowing = true;
    }
  }
   else if (this$static.glassShowing) {
    $removeChild($doc.body, this$static.curPanel.glass);
    $removeHandler(this$static.resizeRegistration.real);
    this$static.resizeRegistration = null;
    this$static.glassShowing = false;
  }
}

function $onComplete(this$static){
  if (!this$static.showing) {
    $maybeShowGlass(this$static);
    this$static.isUnloading || $remove_0(($clinit_RootPanel() , get_0()), this$static.curPanel);
    this$static.curPanel.element;
  }
  this$static.curPanel.element.style['clip'] = 'rect(auto, auto, auto, auto)';
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onInstantaneousRun(this$static){
  $maybeShowGlass(this$static);
  if (this$static.showing) {
    this$static.curPanel.element.style['position'] = 'absolute';
    this$static.curPanel.topPosition != -1 && $setPopupPosition(this$static.curPanel, this$static.curPanel.leftPosition, this$static.curPanel.topPosition);
    $add_0(($clinit_RootPanel() , get_0()), this$static.curPanel);
    this$static.curPanel.element;
  }
   else {
    this$static.isUnloading || $remove_0(($clinit_RootPanel() , get_0()), this$static.curPanel);
    this$static.curPanel.element;
  }
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onUpdate_0(this$static, progress){
  var bottom, height, left, right, top_0, width;
  this$static.showing || (progress = 1 - progress);
  top_0 = 0;
  left = 0;
  right = 0;
  bottom = 0;
  height = round_int(progress * this$static.offsetHeight);
  width = round_int(progress * this$static.offsetWidth);
  switch (this$static.curPanel.animType.ordinal) {
    case 2:
      right = this$static.offsetWidth;
      bottom = height;
      break;
    case 0:
      top_0 = ~~(this$static.offsetHeight - height) >> 1;
      left = ~~(this$static.offsetWidth - width) >> 1;
      right = left + width;
      bottom = top_0 + height;
      break;
    case 1:
      right = width;
      bottom = height;
  }
  $setClip(this$static.curPanel.element, 'rect(' + top_0 + 'px, ' + right + 'px, ' + bottom + 'px, ' + left + 'px)');
}

function $setState(this$static, showing, isUnloading){
  var animate;
  this$static.isUnloading = isUnloading;
  $cancel(this$static);
  if (this$static.showTimer) {
    $cancel_0(this$static.showTimer);
    this$static.showTimer = null;
    $onComplete(this$static);
  }
  this$static.curPanel.showing = showing;
  $updateHandlers(this$static.curPanel);
  animate = !isUnloading && this$static.curPanel.isAnimationEnabled;
  this$static.curPanel.animType != ($clinit_PopupPanel$AnimationType() , CENTER_2) && !showing && (animate = false);
  this$static.showing = showing;
  if (animate) {
    if (showing) {
      $maybeShowGlass(this$static);
      this$static.curPanel.element.style['position'] = 'absolute';
      this$static.curPanel.topPosition != -1 && $setPopupPosition(this$static.curPanel, this$static.curPanel.leftPosition, this$static.curPanel.topPosition);
      this$static.curPanel.element.style['clip'] = 'rect(0px, 0px, 0px, 0px)';
      $add_0(($clinit_RootPanel() , get_0()), this$static.curPanel);
      this$static.curPanel.element;
      this$static.showTimer = new PopupPanel$ResizeAnimation$1_0(this$static);
      $schedule(this$static.showTimer, 1);
    }
     else {
      $run(this$static, currentTimeMillis());
    }
  }
   else {
    $onInstantaneousRun(this$static);
  }
}

function PopupPanel$ResizeAnimation_0(panel){
  Animation_0.call(this);
  this.curPanel = panel;
}

function PopupPanel$ResizeAnimation(){
}

_ = PopupPanel$ResizeAnimation_0.prototype = PopupPanel$ResizeAnimation.prototype = new Animation;
_.getClass$ = function getClass_339(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2_classLit;
}
;
_.onComplete = function onComplete_1(){
  $onComplete(this);
}
;
_.onStart = function onStart_1(){
  this.offsetHeight = $getPropertyInt(this.curPanel.element, 'offsetHeight');
  this.offsetWidth = $getPropertyInt(this.curPanel.element, 'offsetWidth');
  this.curPanel.element.style['overflow'] = 'hidden';
  $onUpdate_0(this, (1 + Math.cos(3.141592653589793)) / 2);
}
;
_.onUpdate = function onUpdate_0(progress){
  $onUpdate_0(this, progress);
}
;
_.curPanel = null;
_.glassShowing = false;
_.isUnloading = false;
_.offsetHeight = 0;
_.offsetWidth = -1;
_.resizeRegistration = null;
_.showTimer = null;
_.showing = false;
function PopupPanel$ResizeAnimation$1_0(this$1){
  $clinit_Timer();
  this.this$1 = this$1;
}

function PopupPanel$ResizeAnimation$1(){
}

_ = PopupPanel$ResizeAnimation$1_0.prototype = PopupPanel$ResizeAnimation$1.prototype = new Timer;
_.getClass$ = function getClass_340(){
  return Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation$1_2_classLit;
}
;
_.run = function run_1(){
  this.this$1.showTimer = null;
  $run(this.this$1, currentTimeMillis());
}
;
_.castableTypeMap$ = makeCastMap([Q$Timer]);
_.this$1 = null;
function deserialize_136(streamReader, instance){
}

function instantiate_133(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_PopupPanel$AnimationType() , $clinit_PopupPanel$AnimationType() , $VALUES_32);
  return values[ordinal];
}

function $resolve(this$static){
  return this$static.__gwt_resolve?this$static.__gwt_resolve():this$static;
}

function buildResolveCallback(resolver){
  return function(){
    this.__gwt_resolve = cannotResolveTwice;
    return resolver.resolvePotentialElement();
  }
  ;
}

function cannotResolveTwice(){
  throw 'A PotentialElement cannot be resolved twice.';
}

function isPotential(o){
  try {
    return !!o && !!o.__gwt_resolve;
  }
   catch (e) {
    return false;
  }
}

function $clinit_RootPanel(){
  $clinit_RootPanel = nullMethod;
  maybeDetachCommand = new RootPanel$1_0;
  rootPanels = new HashMap_0;
  widgetsToDetach = new HashSet_0;
}

function RootPanel_0(elem){
  ComplexPanel_0.call(this);
  this.element = elem;
  $onAttach(this);
}

function detachNow(widget){
  $clinit_RootPanel();
  try {
    widget.onDetach();
  }
   finally {
    $remove_7(widgetsToDetach, widget);
  }
}

function detachWidgets(){
  $clinit_RootPanel();
  try {
    tryCommand(widgetsToDetach, maybeDetachCommand);
  }
   finally {
    widgetsToDetach.map.clear();
    rootPanels.clear();
  }
}

function get_0(){
  $clinit_RootPanel();
  var rp;
  rp = dynamicCast(rootPanels.get_0(null), Q$RootPanel);
  if (rp) {
    return rp;
  }
  rootPanels.size_0() == 0 && addCloseHandler(new RootPanel$2_0);
  rp = new RootPanel$DefaultRootPanel_0;
  rootPanels.put(null, rp);
  $add_8(widgetsToDetach, rp);
  return rp;
}

function RootPanel(){
}

_ = RootPanel.prototype = new AbsolutePanel;
_.getClass$ = function getClass_341(){
  return Lcom_google_gwt_user_client_ui_RootPanel_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RootPanel, Q$UIObject, Q$Widget]);
var maybeDetachCommand, rootPanels, widgetsToDetach;
function RootPanel$1_0(){
}

function RootPanel$1(){
}

_ = RootPanel$1_0.prototype = RootPanel$1.prototype = new Object_0;
_.execute_2 = function execute_12(w){
  w.isAttached() && w.onDetach();
}
;
_.getClass$ = function getClass_342(){
  return Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit;
}
;
function RootPanel$2_0(){
}

function RootPanel$2(){
}

_ = RootPanel$2_0.prototype = RootPanel$2.prototype = new Object_0;
_.getClass$ = function getClass_343(){
  return Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit;
}
;
_.onClose = function onClose_0(closeEvent){
  detachWidgets();
}
;
_.castableTypeMap$ = makeCastMap([Q$CloseHandler, Q$EventHandler]);
function RootPanel$DefaultRootPanel_0(){
  RootPanel_0.call(this, $doc.body);
}

function RootPanel$DefaultRootPanel(){
}

_ = RootPanel$DefaultRootPanel_0.prototype = RootPanel$DefaultRootPanel.prototype = new RootPanel;
_.getClass$ = function getClass_344(){
  return Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RootPanel, Q$UIObject, Q$Widget]);
function $getMaximumHorizontalScrollPosition(scrollable){
  return $isRtl(scrollable)?0:(scrollable.scrollWidth || 0) - scrollable.clientWidth;
}

function $getMinimumHorizontalScrollPosition(scrollable){
  return $isRtl(scrollable)?scrollable.clientWidth - (scrollable.scrollWidth || 0):0;
}

function $isRtl(scrollable){
  var computedStyle = $doc.defaultView.getComputedStyle(scrollable, null);
  return computedStyle.getPropertyValue('direction') == 'rtl';
}

function ScrollImpl_0(){
}

function ScrollImpl(){
}

_ = ScrollImpl_0.prototype = ScrollImpl.prototype = new Object_0;
_.getClass$ = function getClass_345(){
  return Lcom_google_gwt_user_client_ui_ScrollImpl_2_classLit;
}
;
var impl_4 = null;
function ScrollListenerCollection_0(){
  ArrayList_0.call(this);
}

function ScrollListenerCollection(){
}

_ = ScrollListenerCollection_0.prototype = ScrollListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_346(){
  return Lcom_google_gwt_user_client_ui_ScrollListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_137(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_134(streamReader){
  return new ScrollListenerCollection_0;
}

function $addScrollHandler(this$static, handler){
  sinkEvents_0(this$static.scrollableElem);
  return $addHandler_0(this$static, handler, ($clinit_ScrollEvent() , $clinit_ScrollEvent() , TYPE_5));
}

function $getMaximumHorizontalScrollPosition_0(this$static){
  return $getMaximumHorizontalScrollPosition((!impl_4 && (impl_4 = new ScrollImpl_0) , this$static.scrollableElem));
}

function $getMaximumVerticalScrollPosition(this$static){
  return (this$static.scrollableElem.scrollHeight || 0) - this$static.scrollableElem.clientHeight;
}

function $getMinimumHorizontalScrollPosition_0(this$static){
  return $getMinimumHorizontalScrollPosition((!impl_4 && (impl_4 = new ScrollImpl_0) , this$static.scrollableElem));
}

function $setHorizontalScrollPosition(this$static, position){
  $setScrollLeft(this$static.scrollableElem, position);
}

function $setTouchScrollingDisabled(this$static){
  var scroller, ua;
  if (this$static.touchScroller) {
    return false;
  }
  this$static.touchScroller = (scroller = (!isSupported && (isSupported = ($clinit_Boolean() , (!impl_0 && (impl_0 = new TouchEvent$TouchSupportDetector_0) , impl_0.isSupported) && !(ua = navigator.userAgent.toLowerCase() , /android ([3-9]+)\.([0-9]+)/.exec(ua) != null)?TRUE:FALSE)) , isSupported.value?new TouchScroller_0:null) , !!scroller && $setTargetWidget(scroller, this$static) , scroller);
  return !this$static.touchScroller;
}

function $setVerticalScrollPosition(this$static, position){
  $setScrollTop(this$static.scrollableElem, position);
}

function ScrollPanel_0(){
  SimplePanel_0.call(this);
  this.scrollableElem = this.element;
  this.containerElem = $doc.createElement('div');
  $appendChild(this.scrollableElem, this.containerElem);
  this.scrollableElem.style['overflow'] = ($clinit_Style$Overflow() , 'auto');
  this.scrollableElem.style['position'] = ($clinit_Style$Position() , 'relative');
  this.containerElem.style['position'] = 'relative';
  this.scrollableElem.style['zoom'] = '1';
  this.containerElem.style['zoom'] = '1';
  $setTouchScrollingDisabled(this);
  !impl_4 && (impl_4 = new ScrollImpl_0);
}

function ScrollPanel(){
}

_ = ScrollPanel_0.prototype = ScrollPanel.prototype = new SimplePanel;
_.getClass$ = function getClass_347(){
  return Lcom_google_gwt_user_client_ui_ScrollPanel_2_classLit;
}
;
_.getContainerElement = function getContainerElement_2(){
  return this.containerElem;
}
;
_.onAttach = function onAttach_2(){
  $onAttach(this);
  this.scrollableElem.__listener = this;
}
;
_.onDetach = function onDetach_1(){
  this.scrollableElem.__listener = null;
  $onDetach(this);
}
;
_.setHeight = function setHeight_1(height){
  setStyleAttribute(this.element, 'height', height);
}
;
_.setSize = function setSize_0(width, height){
  setStyleAttribute(this.element, 'width', width);
  setStyleAttribute(this.element, 'height', height);
}
;
_.setWidth = function setWidth_1(width){
  setStyleAttribute(this.element, 'width', width);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
_.containerElem = null;
_.scrollableElem = null;
_.touchScroller = null;
function $next(this$static){
  if (!this$static.hasElement || !this$static.this$0.widget) {
    throw new NoSuchElementException_0;
  }
  this$static.hasElement = false;
  return this$static.returned = this$static.this$0.widget;
}

function SimplePanel$1_0(this$0){
  this.this$0 = this$0;
  this.hasElement = !!this.this$0.widget;
}

function SimplePanel$1(){
}

_ = SimplePanel$1_0.prototype = SimplePanel$1.prototype = new Object_0;
_.getClass$ = function getClass_348(){
  return Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit;
}
;
_.hasNext = function hasNext(){
  return this.hasElement;
}
;
_.next_0 = function next_0(){
  return $next(this);
}
;
_.remove_2 = function remove_10(){
  !!this.returned && this.this$0.remove(this.returned);
}
;
_.returned = null;
_.this$0 = null;
function SuggestOracle$Request_0(){
}

function SuggestOracle$Request(){
}

_ = SuggestOracle$Request_0.prototype = SuggestOracle$Request.prototype = new Object_0;
_.getClass$ = function getClass_349(){
  return Lcom_google_gwt_user_client_ui_SuggestOracle$Request_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable]);
_.limit = 20;
_.query = null;
function SuggestOracle$Response_0(){
}

function SuggestOracle$Response(){
}

_ = SuggestOracle$Response_0.prototype = SuggestOracle$Response.prototype = new Object_0;
_.getClass$ = function getClass_350(){
  return Lcom_google_gwt_user_client_ui_SuggestOracle$Response_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable]);
_.moreSuggestions = false;
_.numMoreSuggestions = 0;
_.suggestions = null;
function deserialize_138(streamReader, instance){
  setLimit(instance, $readInt(streamReader));
  setQuery(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_135(streamReader){
  return new SuggestOracle$Request_0;
}

function setLimit(instance, value){
  instance.limit = value;
}

function setQuery(instance, value){
  instance.query = value;
}

function deserialize_139(streamReader, instance){
  setMoreSuggestions(instance, $readBoolean(streamReader));
  setNumMoreSuggestions(instance, $readInt(streamReader));
  setSuggestions(instance, dynamicCast($readObject(streamReader), Q$Collection));
}

function instantiate_136(streamReader){
  return new SuggestOracle$Response_0;
}

function setMoreSuggestions(instance, value){
  instance.moreSuggestions = value;
}

function setNumMoreSuggestions(instance, value){
  instance.numMoreSuggestions = value;
}

function setSuggestions(instance, value){
  instance.suggestions = value;
}

function deserialize_140(streamReader, instance){
  deserialize_66(streamReader, instance);
}

function instantiate_137(streamReader){
  var size;
  size = $readInt(streamReader);
  return initDim(_3Lcom_google_gwt_user_client_ui_SuggestOracle$Suggestion_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$SuggestOracle$Suggestion, size, 0);
}

function TabListenerCollection_0(){
  ArrayList_0.call(this);
}

function TabListenerCollection(){
}

_ = TabListenerCollection_0.prototype = TabListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_351(){
  return Lcom_google_gwt_user_client_ui_TabListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_141(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_138(streamReader){
  return new TabListenerCollection_0;
}

function TableListenerCollection_0(){
  ArrayList_0.call(this);
}

function TableListenerCollection(){
}

_ = TableListenerCollection_0.prototype = TableListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_352(){
  return Lcom_google_gwt_user_client_ui_TableListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function deserialize_142(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_139(streamReader){
  return new TableListenerCollection_0;
}

function ValueBoxBase_0(elem){
  $clinit_FocusWidget();
  this.element = elem;
  new AutoDirectionHandler_0;
}

function ValueBoxBase(){
}

_ = ValueBoxBase.prototype = new FocusWidget;
_.getClass$ = function getClass_353(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase_2_classLit;
}
;
_.onBrowserEvent = function onBrowserEvent_4(event_0){
  var type;
  type = $eventGetTypeInt(event_0.type);
  (type & 896) != 0?$onBrowserEvent_0(this, event_0):$onBrowserEvent_0(this, event_0);
}
;
_.onLoad = function onLoad_1(){
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function $clinit_TextBoxBase(){
  $clinit_TextBoxBase = nullMethod;
  $clinit_FocusWidget();
  $clinit_ValueBoxBase$TextAlignment();
}

function TextBoxBase(){
}

_ = TextBoxBase.prototype = new ValueBoxBase;
_.getClass$ = function getClass_354(){
  return Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function TextBox_0(){
  var e;
  $clinit_TextBoxBase();
  TextBox_1.call(this, (e = $doc.createElement('INPUT') , e.type = 'text' , e));
}

function TextBox_1(element){
  ValueBoxBase_0.call(this, element, (!INSTANCE_2 && (INSTANCE_2 = new PassthroughRenderer_0) , !INSTANCE_1 && (INSTANCE_1 = new PassthroughParser_0)));
  this.element['className'] = 'gwt-TextBox';
}

function TextBox(){
}

_ = TextBox_0.prototype = TextBox.prototype = new TextBoxBase;
_.getClass$ = function getClass_355(){
  return Lcom_google_gwt_user_client_ui_TextBox_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]);
function TreeListenerCollection_0(){
  ArrayList_0.call(this);
}

function TreeListenerCollection(){
}

_ = TreeListenerCollection_0.prototype = TreeListenerCollection.prototype = new ArrayList;
_.getClass$ = function getClass_356(){
  return Lcom_google_gwt_user_client_ui_TreeListenerCollection_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
--></script>
<script><!--
function deserialize_143(streamReader, instance){
  deserialize_93(streamReader, instance);
}

function instantiate_140(streamReader){
  return new TreeListenerCollection_0;
}

function $clinit_ValueBoxBase$TextAlignment(){
  $clinit_ValueBoxBase$TextAlignment = nullMethod;
  CENTER_3 = new ValueBoxBase$TextAlignment$1_0;
  JUSTIFY = new ValueBoxBase$TextAlignment$2_0;
  LEFT_2 = new ValueBoxBase$TextAlignment$3_0;
  RIGHT_2 = new ValueBoxBase$TextAlignment$4_0;
  $VALUES_33 = initValues(_3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$ValueBoxBase$TextAlignment, [CENTER_3, JUSTIFY, LEFT_2, RIGHT_2]);
}

function values_34(){
  $clinit_ValueBoxBase$TextAlignment();
  return $VALUES_33;
}

function ValueBoxBase$TextAlignment(){
}

_ = ValueBoxBase$TextAlignment.prototype = new Enum;
_.getClass$ = function getClass_357(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_33, CENTER_3, JUSTIFY, LEFT_2, RIGHT_2;
function ValueBoxBase$TextAlignment$1_0(){
  Enum_0.call(this, 'CENTER', 0);
}

function ValueBoxBase$TextAlignment$1(){
}

_ = ValueBoxBase$TextAlignment$1_0.prototype = ValueBoxBase$TextAlignment$1.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_358(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]);
function ValueBoxBase$TextAlignment$2_0(){
  Enum_0.call(this, 'JUSTIFY', 1);
}

function ValueBoxBase$TextAlignment$2(){
}

_ = ValueBoxBase$TextAlignment$2_0.prototype = ValueBoxBase$TextAlignment$2.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_359(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]);
function ValueBoxBase$TextAlignment$3_0(){
  Enum_0.call(this, 'LEFT', 2);
}

function ValueBoxBase$TextAlignment$3(){
}

_ = ValueBoxBase$TextAlignment$3_0.prototype = ValueBoxBase$TextAlignment$3.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_360(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]);
function ValueBoxBase$TextAlignment$4_0(){
  Enum_0.call(this, 'RIGHT', 3);
}

function ValueBoxBase$TextAlignment$4(){
}

_ = ValueBoxBase$TextAlignment$4_0.prototype = ValueBoxBase$TextAlignment$4.prototype = new ValueBoxBase$TextAlignment;
_.getClass$ = function getClass_361(){
  return Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$4_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]);
function deserialize_144(streamReader, instance){
}

function instantiate_141(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_ValueBoxBase$TextAlignment() , $clinit_ValueBoxBase$TextAlignment() , $VALUES_33);
  return values[ordinal];
}

function $add_6(this$static, w){
  var td, tr, td_0;
  tr = $doc.createElement('tr');
  td = (td_0 = $doc.createElement('td') , td_0['align'] = this$static.horzAlign.textAlignString , setStyleAttribute(td_0, 'verticalAlign', this$static.vertAlign.verticalAlignString) , td_0);
  $appendChild(tr, $resolve(td));
  $appendChild(this$static.body_0, $resolve(tr));
  $add(this$static, w, td);
}

function $setHorizontalAlignment(this$static, align){
  this$static.horzAlign = align;
}

function VerticalPanel_0(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_HasHorizontalAlignment() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_HasVerticalAlignment() , ALIGN_TOP);
  this.table['cellSpacing'] = '0';
  this.table['cellPadding'] = '0';
}

function VerticalPanel(){
}

_ = VerticalPanel_0.prototype = VerticalPanel.prototype = new CellPanel;
_.getClass$ = function getClass_362(){
  return Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit;
}
;
_.remove = function remove_11(w){
  var removed, td;
  td = $getParentElement(w.element);
  removed = $remove(this, w);
  removed && $removeChild(this.body_0, $getParentElement(td));
  return removed;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]);
function $add_7(this$static, w){
  $insert(this$static, w, this$static.size);
}

function $get_0(this$static, index){
  if (index < 0 || index >= this$static.size) {
    throw new IndexOutOfBoundsException_0;
  }
  return this$static.array[index];
}

function $indexOf_1(this$static, w){
  var i;
  for (i = 0; i < this$static.size; ++i) {
    if (this$static.array[i] == w) {
      return i;
    }
  }
  return -1;
}

function $insert(this$static, w, beforeIndex){
  var i, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size) {
    throw new IndexOutOfBoundsException_0;
  }
  if (this$static.size == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Widget, this$static.array.length * 2, 0);
    for (i = 0; i < this$static.array.length; ++i) {
      setCheck(newArray, i, this$static.array[i]);
    }
    this$static.array = newArray;
  }
  ++this$static.size;
  for (i = this$static.size - 1; i > beforeIndex; --i) {
    setCheck(this$static.array, i, this$static.array[i - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_4(this$static, index){
  var i;
  if (index < 0 || index >= this$static.size) {
    throw new IndexOutOfBoundsException_0;
  }
  --this$static.size;
  for (i = index; i < this$static.size; ++i) {
    setCheck(this$static.array, i, this$static.array[i + 1]);
  }
  setCheck(this$static.array, this$static.size, null);
}

function $remove_5(this$static, w){
  var index;
  index = $indexOf_1(this$static, w);
  if (index == -1) {
    throw new NoSuchElementException_0;
  }
  $remove_4(this$static, index);
}

function WidgetCollection_0(parent_0){
  this.parent_0 = parent_0;
  this.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Widget, 4, 0);
}

function WidgetCollection(){
}

_ = WidgetCollection_0.prototype = WidgetCollection.prototype = new Object_0;
_.getClass$ = function getClass_363(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit;
}
;
_.iterator = function iterator_3(){
  return new WidgetCollection$WidgetIterator_0(this);
}
;
_.array = null;
_.parent_0 = null;
_.size = 0;
function $next_0(this$static){
  if (this$static.index_0 >= this$static.this$0.size) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0.array[++this$static.index_0];
}

function WidgetCollection$WidgetIterator_0(this$0){
  this.this$0 = this$0;
}

function WidgetCollection$WidgetIterator(){
}

_ = WidgetCollection$WidgetIterator_0.prototype = WidgetCollection$WidgetIterator.prototype = new Object_0;
_.getClass$ = function getClass_364(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit;
}
;
_.hasNext = function hasNext_0(){
  return this.index_0 < this.this$0.size - 1;
}
;
_.next_0 = function next_1(){
  return $next_0(this);
}
;
_.remove_2 = function remove_12(){
  if (this.index_0 < 0 || this.index_0 >= this.this$0.size) {
    throw new IllegalStateException_0;
  }
  this.this$0.parent_0.remove(this.this$0.array[this.index_0--]);
}
;
_.index_0 = -1;
_.this$0 = null;
function $clinit_ClippedImageImpl(){
  $clinit_ClippedImageImpl = nullMethod;
  clearImage = ($clinit_UriUtils() , new SafeUriString_0($moduleBase + 'clear.cache.gif'));
}

var clearImage, template_0 = null;
function $image(arg0, arg1){
  var sb;
  sb = new StringBuilder_0;
  sb.impl.string += "<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='";
  $append_9(sb, htmlEscape(arg0.uri));
  sb.impl.string += "' style='";
  $append_9(sb, htmlEscape(arg1.css));
  sb.impl.string += "' border='0'>";
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function ClippedImageImpl_TemplateImpl_0(){
}

function ClippedImageImpl_TemplateImpl(){
}

_ = ClippedImageImpl_TemplateImpl_0.prototype = ClippedImageImpl_TemplateImpl.prototype = new Object_0;
_.getClass$ = function getClass_365(){
  return Lcom_google_gwt_user_client_ui_impl_ClippedImageImpl_1TemplateImpl_2_classLit;
}
;
function $clinit_FocusImpl(){
  $clinit_FocusImpl = nullMethod;
  implPanel = new FocusImplSafari_0;
  implWidget = implPanel?new FocusImpl_0:implPanel;
}

function FocusImpl_0(){
}

function FocusImpl(){
}

_ = FocusImpl_0.prototype = FocusImpl.prototype = new Object_0;
_.focus_0 = function focus_0(elem){
  elem.focus();
}
;
_.getClass$ = function getClass_366(){
  return Lcom_google_gwt_user_client_ui_impl_FocusImpl_2_classLit;
}
;
var implPanel, implWidget;
function FocusImplStandard(){
}

_ = FocusImplStandard.prototype = new FocusImpl;
_.getClass$ = function getClass_367(){
  return Lcom_google_gwt_user_client_ui_impl_FocusImplStandard_2_classLit;
}
;
function FocusImplSafari_0(){
}

function FocusImplSafari(){
}

_ = FocusImplSafari_0.prototype = FocusImplSafari.prototype = new FocusImplStandard;
_.focus_0 = function focus_1(elem){
  $wnd.setTimeout(function(){
    elem.focus();
  }
  , 0);
}
;
_.getClass$ = function getClass_368(){
  return Lcom_google_gwt_user_client_ui_impl_FocusImplSafari_2_classLit;
}
;
function $setClip(popup, rect){
  popup.style['clip'] = rect;
}

function $clinit_NodeImpl(){
  $clinit_NodeImpl = nullMethod;
  ROOT_NODE = new NodeImpl_0;
}

function NodeImpl_0(){
  this.isInIterable = false;
}

function NodeImpl(){
}

_ = NodeImpl_0.prototype = NodeImpl.prototype = new Object_0;
_.equals$ = function equals_9(obj){
  var that;
  if (this === obj) {
    return true;
  }
  if (!instanceOf(obj, Q$NodeImpl)) {
    return false;
  }
  that = dynamicCast(obj, Q$NodeImpl);
  return this.isInIterable == that.isInIterable;
}
;
_.getClass$ = function getClass_369(){
  return Lcom_google_gwt_validation_client_impl_NodeImpl_2_classLit;
}
;
_.hashCode$ = function hashCode_11(){
  var result;
  result = 923521 + (this.isInIterable?0:1);
  return result;
}
;
_.toString$ = function toString_12(){
  var sb;
  sb = new StringBuffer_0;
  if (this.isInIterable) {
    sb.impl.string += '[';
    sb.impl.string += ']';
  }
  return sb.impl.string;
}
;
_.castableTypeMap$ = makeCastMap([Q$NodeImpl, Q$Serializable, Q$Path$Node]);
_.isInIterable = false;
var ROOT_NODE;
function PathImpl_0(){
  this.nodes = new ArrayList_0;
  $add_1(this.nodes, ($clinit_NodeImpl() , ROOT_NODE));
}

function PathImpl(){
}

_ = PathImpl_0.prototype = PathImpl.prototype = new Object_0;
_.equals$ = function equals_10(obj){
  var that;
  if (this === obj) {
    return true;
  }
  if (!instanceOf(obj, Q$PathImpl)) {
    return false;
  }
  that = dynamicCast(obj, Q$PathImpl);
  return $equals_0(this.nodes, that.nodes);
}
;
_.getClass$ = function getClass_370(){
  return Lcom_google_gwt_validation_client_impl_PathImpl_2_classLit;
}
;
_.hashCode$ = function hashCode_12(){
  return $hashCode_0(this.nodes);
}
;
_.iterator = function iterator_4(){
  return new AbstractList$IteratorImpl_0(this.nodes);
}
;
_.toString$ = function toString_13(){
  var n, n$iterator, sb;
  sb = new StringBuilder_0;
  for (n$iterator = new AbstractList$IteratorImpl_0(this.nodes); n$iterator.i < n$iterator.this$0_0.size_0();) {
    n = dynamicCast($next_1(n$iterator), Q$Path$Node);
    sb.impl.string.length > 0 && (sb.impl.string += '.' , sb);
    $append_0(sb.impl, n);
  }
  return sb.impl.string;
}
;
_.castableTypeMap$ = makeCastMap([Q$PathImpl, Q$Serializable]);
function deserialize_145(streamReader, instance){
}

function instantiate_142(streamReader){
  return new PathImpl_0;
}

function $addDataDisplay(this$static, display){
  var handler;
  if (!display) {
    throw new IllegalArgumentException_1('display cannot be null');
  }
   else if ($contains(this$static.displays, display)) {
    throw new IllegalStateException_1('The specified display has already been added to this adapter.');
  }
  $add_8(this$static.displays, display);
  handler = $addRangeChangeHandler(display, new AbstractDataProvider$1_0(this$static, display));
  this$static.rangeChangeHandlers.put(display, handler);
  this$static.lastRowCount >= 0 && $setRowCount(display, this$static.lastRowCount, this$static.lastRowCountExact);
  $onRangeChanged(this$static, display);
}

function $updateRowCount(this$static, count){
  var display, display$iterator;
  this$static.lastRowCount = count;
  this$static.lastRowCountExact = true;
  for (display$iterator = $iterator($keySet(this$static.displays.map)); display$iterator.val$outerIter.hasNext();) {
    display = dynamicCast($next_2(display$iterator), Q$HasData);
    display.setRowCount(count, true);
  }
}

function $updateRowData(this$static, start, values){
  var display, display$iterator;
  for (display$iterator = $iterator($keySet(this$static.displays.map)); display$iterator.val$outerIter.hasNext();) {
    display = dynamicCast($next_2(display$iterator), Q$HasData);
    $updateRowData_0(display, start, values);
  }
}

function $updateRowData_0(display, start, values){
  var curEnd, curLength, curStart, end, range, realEnd, realLength, realStart, realValues;
  end = start + values.size_0();
  range = display.getVisibleRange();
  curStart = range.start;
  curLength = range.length_0;
  curEnd = curStart + curLength;
  if (start == curStart || curStart < end && curEnd > start) {
    realStart = curStart < start?start:curStart;
    realEnd = curEnd > end?end:curEnd;
    realLength = realEnd - realStart;
    realValues = values.subList(realStart - start, realStart - start + realLength);
    display.setRowData(realStart, realValues);
  }
}

function AbstractDataProvider(){
}

_ = AbstractDataProvider.prototype = new Object_0;
_.getClass$ = function getClass_371(){
  return Lcom_google_gwt_view_client_AbstractDataProvider_2_classLit;
}
;
_.lastRowCount = -1;
_.lastRowCountExact = false;
function AbstractDataProvider$1_0(this$0, val$display){
  this.this$0 = this$0;
  this.val$display = val$display;
}

function AbstractDataProvider$1(){
}

_ = AbstractDataProvider$1_0.prototype = AbstractDataProvider$1.prototype = new Object_0;
_.getClass$ = function getClass_372(){
  return Lcom_google_gwt_view_client_AbstractDataProvider$1_2_classLit;
}
;
_.onRangeChange = function onRangeChange_0(event_0){
  $onRangeChanged(this.this$0, this.val$display);
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler, Q$RangeChangeEvent$Handler]);
_.this$0 = null;
_.val$display = null;
function $dispatch_6(this$static){
  $onCellPreview(this$static);
}

function CellPreviewEvent_0(nativeEvent, display, value, isCellEditing, isSelectionHandled){
  this.nativeEvent = nativeEvent;
  this.display_0 = display;
  this.value = value;
  this.isCellEditing = isCellEditing;
  this.isSelectionHandled = isSelectionHandled;
}

function fire_5(source, nativeEvent, display, value, isCellEditing, isSelectionHandled){
  var event_0;
  event_0 = new CellPreviewEvent_0(nativeEvent, display, value, isCellEditing, isSelectionHandled);
  !!TYPE_18 && !!source.handlerManager && $fireEvent(source.handlerManager, event_0);
  return event_0;
}

function CellPreviewEvent(){
}

_ = CellPreviewEvent_0.prototype = CellPreviewEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_17(handler){
  $dispatch_6(this, dynamicCast(handler, Q$CellPreviewEvent$Handler));
}
;
_.getAssociatedType = function getAssociatedType_18(){
  return TYPE_18;
}
;
_.getClass$ = function getClass_373(){
  return Lcom_google_gwt_view_client_CellPreviewEvent_2_classLit;
}
;
_.display_0 = null;
_.isCellEditing = false;
_.isSelectionHandled = false;
_.nativeEvent = null;
_.value = null;
var TYPE_18 = null;
function $handleSelectionEvent(event_0, action, selectionModel){
  var keyCode, nativeEvent, type, value;
  value = event_0.value;
  if (action) {
    switch (action.ordinal) {
      case 4:
        return;
      case 1:
        $setSelected(selectionModel, value, true);
        return;
      case 2:
        $setSelected(selectionModel, value, false);
        return;
      case 3:
        $setSelected(selectionModel, value, !$isSelected(selectionModel, value));
        return;
    }
  }
  nativeEvent = event_0.nativeEvent;
  type = nativeEvent.type;
  if ($equals_1('click', type)) {
    !!nativeEvent.ctrlKey || !!nativeEvent.metaKey?$setSelected(selectionModel, value, !$isSelected(selectionModel, value)):$setSelected(selectionModel, value, true);
  }
   else if ($equals_1('keyup', type)) {
    keyCode = nativeEvent.keyCode || 0;
    keyCode == 32 && $setSelected(selectionModel, value, !$isSelected(selectionModel, value));
  }
}

function $onCellPreview(event_0){
  var action, display, selectionModel;
  if (event_0.isCellEditing || event_0.isSelectionHandled) {
    return;
  }
  display = event_0.display_0;
  selectionModel = display.presenter.selectionModel;
  if (!selectionModel) {
    return;
  }
  action = ($clinit_DefaultSelectionEventManager$SelectAction() , DEFAULT_2);
  $handleSelectionEvent(event_0, action, selectionModel);
}

function DefaultSelectionEventManager_0(){
}

function DefaultSelectionEventManager(){
}

_ = DefaultSelectionEventManager_0.prototype = DefaultSelectionEventManager.prototype = new Object_0;
_.getClass$ = function getClass_374(){
  return Lcom_google_gwt_view_client_DefaultSelectionEventManager_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler, Q$CellPreviewEvent$Handler]);
function $clinit_DefaultSelectionEventManager$SelectAction(){
  $clinit_DefaultSelectionEventManager$SelectAction = nullMethod;
  DEFAULT_2 = new DefaultSelectionEventManager$SelectAction_0('DEFAULT', 0);
  SELECT = new DefaultSelectionEventManager$SelectAction_0('SELECT', 1);
  DESELECT = new DefaultSelectionEventManager$SelectAction_0('DESELECT', 2);
  TOGGLE = new DefaultSelectionEventManager$SelectAction_0('TOGGLE', 3);
  IGNORE_0 = new DefaultSelectionEventManager$SelectAction_0('IGNORE', 4);
  $VALUES_34 = initValues(_3Lcom_google_gwt_view_client_DefaultSelectionEventManager$SelectAction_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$DefaultSelectionEventManager$SelectAction, [DEFAULT_2, SELECT, DESELECT, TOGGLE, IGNORE_0]);
}

function DefaultSelectionEventManager$SelectAction_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_35(){
  $clinit_DefaultSelectionEventManager$SelectAction();
  return $VALUES_34;
}

function DefaultSelectionEventManager$SelectAction(){
}

_ = DefaultSelectionEventManager$SelectAction_0.prototype = DefaultSelectionEventManager$SelectAction.prototype = new Enum;
_.getClass$ = function getClass_375(){
  return Lcom_google_gwt_view_client_DefaultSelectionEventManager$SelectAction_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$DefaultSelectionEventManager$SelectAction, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_34, DEFAULT_2, DESELECT, IGNORE_0, SELECT, TOGGLE;
function deserialize_146(streamReader, instance){
}

function instantiate_143(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_DefaultSelectionEventManager$SelectAction() , $clinit_DefaultSelectionEventManager$SelectAction() , $VALUES_34);
  return values[ordinal];
}

function $onRangeChanged(this$static, display){
  var size;
  size = this$static.listWrapper.list.size_0();
  size > 0 && $updateRowData_0(display, 0, this$static.listWrapper);
}

function $setList(this$static, listToWrap){
  this$static.listWrapper = new ListDataProvider$ListWrapper_0(this$static, listToWrap);
  this$static.listWrapper.minModified = 0;
  this$static.listWrapper.maxModified = this$static.listWrapper.list.size_0();
  this$static.listWrapper.modified = true;
  $flushNow(this$static.listWrapper);
}

function ListDataProvider_0(){
  ListDataProvider_1.call(this, new ArrayList_0);
}

function ListDataProvider_1(listToWrap){
  this.displays = new HashSet_0;
  this.rangeChangeHandlers = new HashMap_0;
  this.listWrapper = new ListDataProvider$ListWrapper_0(this, listToWrap);
}

function ListDataProvider(){
}

_ = ListDataProvider_0.prototype = ListDataProvider.prototype = new AbstractDataProvider;
_.getClass$ = function getClass_376(){
  return Lcom_google_gwt_view_client_ListDataProvider_2_classLit;
}
;
_.listWrapper = null;
function $addAll_0(this$static, c){
  var toRet;
  this$static.minModified = min(this$static.minModified, this$static.list.size_0());
  toRet = this$static.list.addAll(c);
  this$static.maxModified = this$static.list.size_0();
  this$static.modified = true;
  $flush_0(this$static);
  return toRet;
}

function $flush_0(this$static){
  if (this$static.delegate) {
    this$static.delegate.minModified = min(this$static.minModified + this$static.offset, this$static.delegate.minModified);
    this$static.delegate.maxModified = max(this$static.maxModified + this$static.offset, this$static.delegate.maxModified);
    this$static.delegate.modified = this$static.modified || this$static.delegate.modified;
    $flush_0(this$static.delegate);
    return;
  }
  this$static.flushCancelled = false;
  if (!this$static.flushPending) {
    this$static.flushPending = true;
    $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), this$static.flushCommand);
  }
}

function $flushNow(this$static){
  var newSize;
  this$static.flushPending && (this$static.flushCancelled = true);
  if (this$static.this$0.listWrapper != this$static) {
    return;
  }
  newSize = this$static.list.size_0();
  if (this$static.curSize != newSize) {
    this$static.curSize = newSize;
    $updateRowCount(this$static.this$0, this$static.curSize);
  }
  if (this$static.modified) {
    $updateRowData(this$static.this$0, this$static.minModified, this$static.list.subList(this$static.minModified, this$static.maxModified));
    this$static.modified = false;
  }
  this$static.minModified = 2147483647;
  this$static.maxModified = -2147483648;
}

function $get_1(this$static, index){
  return this$static.list.get(index);
}

function $remove_6(this$static, index){
  var $e0, e, toRet;
  try {
    toRet = this$static.list.remove_1(index);
    this$static.minModified = min(this$static.minModified, index);
    this$static.maxModified = this$static.list.size_0();
    this$static.modified = true;
    $flush_0(this$static);
    return toRet;
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$IndexOutOfBoundsException)) {
      e = $e0;
      throw new IndexOutOfBoundsException_1(e.detailMessage);
    }
     else 
      throw $e0;
  }
}

function ListDataProvider$ListWrapper_0(this$0, list){
  ListDataProvider$ListWrapper_1.call(this, this$0, list, null, 0);
  $updateRowCount(this$0, list.size);
}

function ListDataProvider$ListWrapper_1(this$0, list, delegate, offset){
  this.this$0 = this$0;
  this.flushCommand = new ListDataProvider$ListWrapper$1_0(this);
  this.list = list;
  this.delegate = delegate;
  this.offset = offset;
}

function ListDataProvider$ListWrapper(){
}

_ = ListDataProvider$ListWrapper_1.prototype = ListDataProvider$ListWrapper_0.prototype = ListDataProvider$ListWrapper.prototype = new Object_0;
_.add = function add_6(e){
  var toRet;
  toRet = this.list.add(e);
  this.minModified = min(this.minModified, this.list.size_0() - 1);
  this.maxModified = this.list.size_0();
  this.modified = true;
  $flush_0(this);
  return toRet;
}
;
_.addAll = function addAll_1(c){
  return $addAll_0(this, c);
}
;
_.contains = function contains_1(o){
  return this.list.contains(o);
}
;
_.equals$ = function equals_11(o){
  return this.list.equals$(o);
}
;
_.get = function get_1(index){
  return this.list.get(index);
}
;
_.getClass$ = function getClass_377(){
  return Lcom_google_gwt_view_client_ListDataProvider$ListWrapper_2_classLit;
}
;
_.hashCode$ = function hashCode_13(){
  return this.list.hashCode$();
}
;
_.indexOf_0 = function indexOf_1(o){
  return this.list.indexOf_0(o);
}
;
_.isEmpty = function isEmpty_1(){
  return this.list.isEmpty();
}
;
_.iterator = function iterator_5(){
  return new ListDataProvider$ListWrapper$WrappedListIterator_0(this);
}
;
_.listIterator = function listIterator_1(){
  return new ListDataProvider$ListWrapper$WrappedListIterator_0(this);
}
;
_.listIterator_0 = function listIterator_2(index){
  return new ListDataProvider$ListWrapper$WrappedListIterator_1(this, index);
}
;
_.remove_1 = function remove_13(index){
  return $remove_6(this, index);
}
;
_.remove_0 = function remove_14(o){
  var index;
  index = this.list.indexOf_0(o);
  if (index == -1) {
    return false;
  }
  $remove_6(this, index);
  return true;
}
;
_.size_0 = function size_1(){
  return this.list.size_0();
}
;
_.subList = function subList_0(fromIndex, toIndex){
  return new ListDataProvider$ListWrapper_1(this.this$0, this.list.subList(fromIndex, toIndex), this, fromIndex);
}
;
_.toArray = function toArray_3(){
  return this.list.toArray();
}
;
_.toArray_0 = function toArray_4(a){
  return this.list.toArray_0(a);
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$List]);
_.curSize = 0;
_.delegate = null;
_.flushCancelled = false;
_.flushPending = false;
_.list = null;
_.maxModified = -2147483648;
_.minModified = 2147483647;
_.modified = false;
_.offset = 0;
_.this$0 = null;
function ListDataProvider$ListWrapper$1_0(this$1){
  this.this$1 = this$1;
}

function ListDataProvider$ListWrapper$1(){
}

_ = ListDataProvider$ListWrapper$1_0.prototype = ListDataProvider$ListWrapper$1.prototype = new Object_0;
_.execute_1 = function execute_13(){
  this.this$1.flushPending = false;
  if (this.this$1.flushCancelled) {
    this.this$1.flushCancelled = false;
    return;
  }
  $flushNow(this.this$1);
}
;
_.getClass$ = function getClass_378(){
  return Lcom_google_gwt_view_client_ListDataProvider$ListWrapper$1_2_classLit;
}
;
_.this$1 = null;
function ListDataProvider$ListWrapper$WrappedListIterator_0(this$1){
  this.this$1 = this$1;
}

function ListDataProvider$ListWrapper$WrappedListIterator_1(this$1, start){
  var size;
  this.this$1 = this$1;
  size = this$1.list.size_0();
  if (start < 0 || start > size) {
    throw new IndexOutOfBoundsException_1('Index: ' + start + ', Size: ' + size);
  }
  this.i = start;
}

function ListDataProvider$ListWrapper$WrappedListIterator(){
}

_ = ListDataProvider$ListWrapper$WrappedListIterator_1.prototype = ListDataProvider$ListWrapper$WrappedListIterator_0.prototype = ListDataProvider$ListWrapper$WrappedListIterator.prototype = new Object_0;
_.getClass$ = function getClass_379(){
  return Lcom_google_gwt_view_client_ListDataProvider$ListWrapper$WrappedListIterator_2_classLit;
}
;
_.hasNext = function hasNext_1(){
  return this.i < this.this$1.list.size_0();
}
;
_.hasPrevious = function hasPrevious(){
  return this.i > 0;
}
;
_.next_0 = function next_2(){
  if (this.i >= this.this$1.list.size_0()) {
    throw new NoSuchElementException_0;
  }
  return $get_1(this.this$1, this.last = this.i++);
}
;
_.previous = function previous_0(){
  if (this.i <= 0) {
    throw new NoSuchElementException_0;
  }
  return $get_1(this.this$1, this.last = --this.i);
}
;
_.remove_2 = function remove_15(){
  if (this.last < 0) {
    throw new IllegalStateException_1('Cannot call add/remove more than once per call to next/previous.');
  }
  $remove_6(this.this$1, this.last);
  this.i = this.last;
  this.last = -1;
}
;
_.i = 0;
_.last = -1;
_.this$1 = null;
function Range_1(start, length_0){
  this.start = start;
  this.length_0 = length_0;
}

function Range_2(){
}

function Range_0(){
}

_ = Range_2.prototype = Range_1.prototype = Range_0.prototype = new Object_0;
_.equals$ = function equals_12(o){
  var r;
  if (!instanceOf(o, Q$Range)) {
    return false;
  }
  r = dynamicCast(o, Q$Range);
  return this.start == r.start && this.length_0 == r.length_0;
}
;
_.getClass$ = function getClass_380(){
  return Lcom_google_gwt_view_client_Range_2_classLit;
}
;
_.hashCode$ = function hashCode_14(){
  return this.length_0 * 31 ^ this.start;
}
;
_.toString$ = function toString_14(){
  return 'Range(' + this.start + ',' + this.length_0 + ')';
}
;
_.castableTypeMap$ = makeCastMap([Q$Range, Q$Serializable]);
_.length_0 = 0;
_.start = 0;
function RangeChangeEvent_0(){
}

function fire_6(source){
  var event_0;
  if (TYPE_19) {
    event_0 = new RangeChangeEvent_0;
    !!source.handlerManager && $fireEvent(source.handlerManager, event_0);
  }
}

function RangeChangeEvent(){
}

_ = RangeChangeEvent_0.prototype = RangeChangeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_18(handler){
  dynamicCast(handler, Q$RangeChangeEvent$Handler).onRangeChange(this);
}
;
_.getAssociatedType = function getAssociatedType_19(){
  return TYPE_19;
}
;
_.getClass$ = function getClass_381(){
  return Lcom_google_gwt_view_client_RangeChangeEvent_2_classLit;
}
;
var TYPE_19 = null;
function deserialize_147(streamReader, instance){
  setLength(instance, $readInt(streamReader));
  setStart(instance, $readInt(streamReader));
}

function instantiate_144(streamReader){
  return new Range_2;
}

function setLength(instance, value){
  instance.length_0 = value;
}

function setStart(instance, value){
  instance.start = value;
}

function $dispatch_7(handler){
  !!handler.this$0.display_0 && $handleRowCountChange(handler.this$0);
}

function RowCountChangeEvent_0(){
}

function fire_7(source){
  var event_0;
  if (TYPE_20) {
    event_0 = new RowCountChangeEvent_0;
    !!source.handlerManager && $fireEvent(source.handlerManager, event_0);
  }
}

function RowCountChangeEvent(){
}

--></script>
<script><!--
_ = RowCountChangeEvent_0.prototype = RowCountChangeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_19(handler){
  $dispatch_7(dynamicCast(handler, Q$RowCountChangeEvent$Handler));
}
;
_.getAssociatedType = function getAssociatedType_20(){
  return TYPE_20;
}
;
_.getClass$ = function getClass_382(){
  return Lcom_google_gwt_view_client_RowCountChangeEvent_2_classLit;
}
;
var TYPE_20 = null;
function SelectionChangeEvent_0(){
}

function fire_8(source){
  var event_0;
  if (TYPE_21) {
    event_0 = new SelectionChangeEvent_0;
    $fireEvent(source.handlerManager, event_0);
  }
}

function SelectionChangeEvent(){
}

_ = SelectionChangeEvent_0.prototype = SelectionChangeEvent.prototype = new GwtEvent;
_.dispatch = function dispatch_20(handler){
  $ensurePendingState(dynamicCast(dynamicCast(handler, Q$SelectionChangeEvent$Handler), Q$HasDataPresenter$1).this$0);
}
;
_.getAssociatedType = function getAssociatedType_21(){
  return TYPE_21;
}
;
_.getClass$ = function getClass_383(){
  return Lcom_google_gwt_view_client_SelectionChangeEvent_2_classLit;
}
;
var TYPE_21 = null;
function $addSelectionChangeHandler(this$static, handler){
  return $addHandler(this$static.handlerManager, (!TYPE_21 && (TYPE_21 = new GwtEvent$Type_0) , TYPE_21), handler);
}

function $getKey(this$static, item){
  return !this$static.keyProvider || item == null?item:$getKey_0(this$static.keyProvider, dynamicCast(item, Q$Tuple));
}

function $scheduleSelectionChangeEvent(this$static){
  this$static.isEventCancelled = false;
  if (!this$static.isEventScheduled) {
    this$static.isEventScheduled = true;
    $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), new SelectionModel$AbstractSelectionModel$1_0(this$static));
  }
}

function SelectionModel$AbstractSelectionModel(){
}

_ = SelectionModel$AbstractSelectionModel.prototype = new Object_0;
_.fireEvent = function fireEvent_3(event_0){
  $fireEvent(this.handlerManager, event_0);
}
;
_.getClass$ = function getClass_384(){
  return Lcom_google_gwt_view_client_SelectionModel$AbstractSelectionModel_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers]);
_.isEventCancelled = false;
_.isEventScheduled = false;
_.keyProvider = null;
function SelectionModel$AbstractSelectionModel$1_0(this$1){
  this.this$1 = this$1;
}

function SelectionModel$AbstractSelectionModel$1(){
}

_ = SelectionModel$AbstractSelectionModel$1_0.prototype = SelectionModel$AbstractSelectionModel$1.prototype = new Object_0;
_.execute_1 = function execute_14(){
  this.this$1.isEventScheduled = false;
  if (this.this$1.isEventCancelled) {
    this.this$1.isEventCancelled = false;
    return;
  }
  $fireSelectionChangeEvent(this.this$1);
}
;
_.getClass$ = function getClass_385(){
  return Lcom_google_gwt_view_client_SelectionModel$AbstractSelectionModel$1_2_classLit;
}
;
_.this$1 = null;
function $equalsOrBothNull(a, b){
  return a == null?b == null:equals__devirtual$(a, b);
}

function $fireSelectionChangeEvent(this$static){
  this$static.isEventScheduled && (this$static.isEventCancelled = true);
  $resolveChanges(this$static);
}

function $isSelected(this$static, object){
  $resolveChanges(this$static);
  if (this$static.curSelection == null || this$static.curKey == null || object == null) {
    return false;
  }
  return equals__devirtual$(this$static.curKey, !this$static.keyProvider || object == null?object:$getKey_0(this$static.keyProvider, dynamicCast(object, Q$Tuple)));
}

function $resolveChanges(this$static){
  var changed, key, sameKey;
  if (!this$static.newSelectedPending) {
    return;
  }
  key = $getKey(this$static, this$static.newSelectedObject);
  sameKey = $equalsOrBothNull(this$static.curKey, key);
  changed = false;
  if (this$static.newSelected) {
    changed = !sameKey;
    this$static.curSelection = this$static.newSelectedObject;
    this$static.curKey = key;
  }
   else if (sameKey) {
    changed = true;
    this$static.curSelection = null;
    this$static.curKey = null;
  }
  this$static.newSelectedObject = null;
  this$static.newSelectedPending = false;
  changed && fire_8(this$static);
}

function $setSelected(this$static, object, selected){
  var newKey, oldKey;
  if (!selected) {
    oldKey = this$static.newSelectedPending?$getKey(this$static, this$static.newSelectedObject):this$static.curKey;
    newKey = !this$static.keyProvider || object == null?object:$getKey_0(this$static.keyProvider, dynamicCast(object, Q$Tuple));
    if (!(oldKey == null?newKey == null:equals__devirtual$(oldKey, newKey))) {
      return;
    }
  }
  this$static.newSelectedObject = object;
  this$static.newSelected = selected;
  this$static.newSelectedPending = true;
  $scheduleSelectionChangeEvent(this$static);
}

function SingleSelectionModel_0(keyProvider){
  this.handlerManager = new HandlerManager_0(this);
  this.keyProvider = keyProvider;
}

function SingleSelectionModel(){
}

_ = SingleSelectionModel_0.prototype = SingleSelectionModel.prototype = new SelectionModel$AbstractSelectionModel;
_.getClass$ = function getClass_386(){
  return Lcom_google_gwt_view_client_SingleSelectionModel_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$HasHandlers]);
_.curKey = null;
_.curSelection = null;
_.newSelected = false;
_.newSelectedObject = null;
_.newSelectedPending = false;
function $clearOnReadyStateChange(this$static){
  var self_0 = this$static;
  $wnd.setTimeout(function(){
    self_0.onreadystatechange = new Function;
  }
  , 0);
}

function $open(this$static, httpMethod, url){
  this$static.open(httpMethod, url, true);
}

function $setOnReadyStateChange(this$static, handler){
  var _this = this$static;
  this$static.onreadystatechange = $entry(function(){
    handler.onReadyStateChange(_this);
  }
  );
}

function $setRequestHeader(this$static, header, value){
  this$static.setRequestHeader(header, value);
}

function create_2(){
  if ($wnd.XMLHttpRequest) {
    return new $wnd.XMLHttpRequest;
  }
   else {
    try {
      return new $wnd.ActiveXObject('MSXML2.XMLHTTP.3.0');
    }
     catch (e) {
      return new $wnd.ActiveXObject('Microsoft.XMLHTTP');
    }
  }
}

function $removeHandler(this$static){
  $doRemove(this$static.this$0, this$static.val$type, this$static.val$source, this$static.val$handler);
}

function SimpleEventBus$1_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = null;
  this.val$handler = val$handler;
}

function SimpleEventBus$1(){
}

_ = SimpleEventBus$1_0.prototype = SimpleEventBus$1.prototype = new Object_0;
_.getClass$ = function getClass_387(){
  return Lcom_google_web_bindery_event_shared_SimpleEventBus$1_2_classLit;
}
;
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function SimpleEventBus$2_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = null;
  this.val$handler = val$handler;
}

function SimpleEventBus$2(){
}

_ = SimpleEventBus$2_0.prototype = SimpleEventBus$2.prototype = new Object_0;
_.execute_1 = function execute_15(){
  $doAddNow(this.this$0, this.val$type, this.val$source, this.val$handler);
}
;
_.getClass$ = function getClass_388(){
  return Lcom_google_web_bindery_event_shared_SimpleEventBus$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$SimpleEventBus$Command]);
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function SimpleEventBus$3_0(this$0, val$type, val$source, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = val$source;
  this.val$handler = val$handler;
}

function SimpleEventBus$3(){
}

_ = SimpleEventBus$3_0.prototype = SimpleEventBus$3.prototype = new Object_0;
_.execute_1 = function execute_16(){
  $doRemoveNow(this.this$0, this.val$type, this.val$source, this.val$handler);
}
;
_.getClass$ = function getClass_389(){
  return Lcom_google_web_bindery_event_shared_SimpleEventBus$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$SimpleEventBus$Command]);
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function deserialize_148(streamReader, instance){
  setCauses(instance, dynamicCast($readObject(streamReader), Q$Set));
  setDetailMessage(instance, $getString(streamReader, $readInt(streamReader)));
}

function instantiate_145(streamReader){
  return new UmbrellaException_2;
}

function setCauses(instance, value){
  instance.causes = value;
}

function $clinit_QueryTables_Proxy(){
  $clinit_QueryTables_Proxy = nullMethod;
  SERIALIZER = new QueryTables_TypeSerializer_0;
}

function $createStreamWriter(this$static){
  var toReturn, clientSerializationStreamWriter;
  toReturn = (clientSerializationStreamWriter = new ClientSerializationStreamWriter_0(this$static.moduleBaseURL, this$static.serializationPolicyName) , $clearImpl(clientSerializationStreamWriter.objectMap) , clientSerializationStreamWriter.stringMap.clear() , $clear(clientSerializationStreamWriter.stringTable) , clientSerializationStreamWriter.encodeBuffer = new StringBuffer_0 , $writeString(clientSerializationStreamWriter, clientSerializationStreamWriter.moduleBaseURL) , $writeString(clientSerializationStreamWriter, clientSerializationStreamWriter.serializationPolicyStrongName) , clientSerializationStreamWriter);
  return toReturn;
}

function $getRelation(this$static, callback){
  var $e0, helper;
  helper = new RemoteServiceProxy$ServiceHelper_0(this$static);
  try {
    !!$stats && $stats_0($timeStat(helper.statsContext, helper.fullServiceName, 'begin'));
    helper.streamWriter = $createStreamWriter(helper.this$0);
    helper.this$0.rpcToken != null && $writeObject(helper.streamWriter, helper.this$0);
    $writeString(helper.streamWriter, 'edu.upenn.cis.cis550.hw3.client.QueryTables');
    $writeString(helper.streamWriter, helper.methodName);
    $writeInt(helper.streamWriter, 0);
    helper.streamWriter;
    $finish_1(helper, callback, $clinit_RequestCallbackAdapter$ResponseReader());
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$SerializationException)) {
      $onFailure(callback);
    }
     else 
      throw $e0;
  }
}

function QueryTables_Proxy_0(){
  $clinit_QueryTables_Proxy();
  RemoteServiceProxy_0.call(this, $moduleBase, SERIALIZER);
}

function QueryTables_Proxy(){
}

_ = QueryTables_Proxy_0.prototype = QueryTables_Proxy.prototype = new RemoteServiceProxy;
_.getClass$ = function getClass_390(){
  return Ledu_upenn_cis_cis550_hw3_client_QueryTables_1Proxy_2_classLit;
}
;
var SERIALIZER;
function $clinit_QueryTables_TypeSerializer(){
  $clinit_QueryTables_TypeSerializer = nullMethod;
  methodMapNative_0 = loadMethodsNative();
  loadSignaturesNative();
}

function QueryTables_TypeSerializer_0(){
  $clinit_QueryTables_TypeSerializer();
  SerializerBase_0.call(this, methodMapNative_0);
}

function loadMethodsNative(){
  var result = {};
  result['com.google.gwt.canvas.dom.client.Context2d$Composite/3412511209'] = [instantiate, deserialize];
  result['com.google.gwt.canvas.dom.client.Context2d$LineCap/4137629416'] = [instantiate_0, deserialize_0];
  result['com.google.gwt.canvas.dom.client.Context2d$LineJoin/773759908'] = [instantiate_1, deserialize_1];
  result['com.google.gwt.canvas.dom.client.Context2d$Repetition/200032891'] = [instantiate_2, deserialize_2];
  result['com.google.gwt.canvas.dom.client.Context2d$TextAlign/96304101'] = [instantiate_3, deserialize_3];
  result['com.google.gwt.canvas.dom.client.Context2d$TextBaseline/1387606880'] = [instantiate_4, deserialize_4];
  result['com.google.gwt.cell.client.ButtonCellBase$Decoration/2339543658'] = [instantiate_5, deserialize_5];
  result['com.google.gwt.core.client.CodeDownloadException$Reason/4099226274'] = [instantiate_6, deserialize_6];
  result['com.google.gwt.core.client.impl.SerializableThrowable/3336179259'] = [instantiate_7, deserialize_7];
  result['com.google.gwt.dom.client.Style$BorderStyle/2769837833'] = [instantiate_8, deserialize_8];
  result['com.google.gwt.dom.client.Style$Cursor/2666657890'] = [instantiate_9, deserialize_9];
  result['com.google.gwt.dom.client.Style$Display/1537475515'] = [instantiate_10, deserialize_10];
  result['com.google.gwt.dom.client.Style$Float/1495215860'] = [instantiate_11, deserialize_11];
  result['com.google.gwt.dom.client.Style$FontStyle/2182768286'] = [instantiate_12, deserialize_12];
  result['com.google.gwt.dom.client.Style$FontWeight/3557458763'] = [instantiate_13, deserialize_13];
  result['com.google.gwt.dom.client.Style$ListStyleType/1064239610'] = [instantiate_14, deserialize_14];
  result['com.google.gwt.dom.client.Style$Overflow/982122884'] = [instantiate_15, deserialize_15];
  result['com.google.gwt.dom.client.Style$Position/548017857'] = [instantiate_16, deserialize_16];
  result['com.google.gwt.dom.client.Style$TableLayout/1430616401'] = [instantiate_17, deserialize_17];
  result['com.google.gwt.dom.client.Style$TextDecoration/3846779252'] = [instantiate_18, deserialize_18];
  result['com.google.gwt.dom.client.Style$Unit/269426519'] = [instantiate_19, deserialize_19];
  result['com.google.gwt.dom.client.Style$VerticalAlign/352429624'] = [instantiate_20, deserialize_20];
  result['com.google.gwt.dom.client.Style$Visibility/1861510052'] = [instantiate_21, deserialize_21];
  result['com.google.gwt.event.shared.UmbrellaException/3104463596'] = [instantiate_22, deserialize_22];
  result['com.google.gwt.http.client.RequestException/190587325'] = [instantiate_23, deserialize_23];
  result['com.google.gwt.i18n.client.DateTimeFormat$PredefinedFormat/229723443'] = [instantiate_24, deserialize_24];
  result['com.google.gwt.i18n.client.HasDirection$Direction/1284232723'] = [instantiate_25, deserialize_25];
  result['com.google.gwt.i18n.shared.DateTimeFormat$PredefinedFormat/649735428'] = [instantiate_26, deserialize_26];
  result['com.google.gwt.i18n.shared.impl.DateRecord/3375188634'] = [instantiate_27, deserialize_27];
  result['com.google.gwt.jsonp.client.TimeoutException/1112787596'] = [instantiate_28, deserialize_28];
  result['com.google.gwt.layout.client.Layout$Alignment/1758648740'] = [instantiate_29, deserialize_29];
  result['com.google.gwt.resources.client.ImageResource$RepeatStyle/2798118115'] = [instantiate_30, deserialize_30];
  result['com.google.gwt.safecss.shared.SafeStylesString/1334499262'] = [instantiate_31, deserialize_31];
  result['com.google.gwt.safehtml.shared.SafeHtmlString/235635043'] = [instantiate_32, deserialize_32];
  result['com.google.gwt.user.cellview.client.HasKeyboardPagingPolicy$KeyboardPagingPolicy/3115114274'] = [instantiate_33, deserialize_33];
  result['com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy$KeyboardSelectionPolicy/2212535585'] = [instantiate_34, deserialize_34];
  result['com.google.gwt.user.cellview.client.SimplePager$TextLocation/844327705'] = [instantiate_35, deserialize_35];
  result['com.google.gwt.user.client.DocumentModeAsserter$Severity/1368792051'] = [instantiate_36, deserialize_36];
  result['com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533'] = [instantiate_37, deserialize_37, serialize];
  result['com.google.gwt.user.client.rpc.RpcTokenException/2345075298'] = [instantiate_38, deserialize_38];
  result['com.google.gwt.user.client.rpc.SerializableException/3047383460'] = [instantiate_39, deserialize_39];
  result['com.google.gwt.user.client.rpc.SerializationException/2836333220'] = [instantiate_40, deserialize_40];
  result['com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException/3408313447'] = [instantiate_41, deserialize_41];
  result['com.google.gwt.user.client.rpc.XsrfToken/4254043109'] = [instantiate_42, deserialize_42, serialize_0];
  result['com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter$ResponseReader/3885798731'] = [instantiate_120, deserialize_123];
  result['com.google.gwt.user.client.ui.ChangeListenerCollection/287642957'] = [instantiate_121, deserialize_124];
  result['com.google.gwt.user.client.ui.ClickListenerCollection/2152455986'] = [instantiate_122, deserialize_125];
  result['com.google.gwt.user.client.ui.DockLayoutPanel$Direction/1124902987'] = [instantiate_123, deserialize_126];
  result['com.google.gwt.user.client.ui.FocusListenerCollection/119490835'] = [instantiate_124, deserialize_127];
  result['com.google.gwt.user.client.ui.FormHandlerCollection/3088681894'] = [instantiate_125, deserialize_128];
  result['com.google.gwt.user.client.ui.KeyboardListenerCollection/1040442242'] = [instantiate_126, deserialize_129];
  result['com.google.gwt.user.client.ui.LoadListenerCollection/3174178888'] = [instantiate_127, deserialize_130];
  result['com.google.gwt.user.client.ui.MouseListenerCollection/465158911'] = [instantiate_128, deserialize_131];
  result['com.google.gwt.user.client.ui.MouseWheelListenerCollection/370304552'] = [instantiate_129, deserialize_132];
  result['com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099'] = [instantiate_131, deserialize_134];
  result['[Lcom.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion;/1531882420'] = [instantiate_130, deserialize_133];
  result['com.google.gwt.user.client.ui.PopupListenerCollection/1920131050'] = [instantiate_132, deserialize_135];
  result['com.google.gwt.user.client.ui.PopupPanel$AnimationType/2686977168'] = [instantiate_133, deserialize_136];
  result['com.google.gwt.user.client.ui.ScrollListenerCollection/210686268'] = [instantiate_134, deserialize_137];
  result['com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745'] = [instantiate_135, deserialize_138];
  result['com.google.gwt.user.client.ui.SuggestOracle$Response/3840253928'] = [instantiate_136, deserialize_139];
  result['[Lcom.google.gwt.user.client.ui.SuggestOracle$Suggestion;/3224244884'] = [instantiate_137, deserialize_140];
  result['com.google.gwt.user.client.ui.TabListenerCollection/3768293299'] = [instantiate_138, deserialize_141];
  result['com.google.gwt.user.client.ui.TableListenerCollection/2254740473'] = [instantiate_139, deserialize_142];
  result['com.google.gwt.user.client.ui.TreeListenerCollection/3716243734'] = [instantiate_140, deserialize_143];
  result['com.google.gwt.user.client.ui.ValueBoxBase$TextAlignment/3036099298'] = [instantiate_141, deserialize_144];
  result['com.google.gwt.validation.client.impl.PathImpl/3029772396'] = [instantiate_142, deserialize_145];
  result['com.google.gwt.view.client.DefaultSelectionEventManager$SelectAction/3096171525'] = [instantiate_143, deserialize_146];
  result['com.google.gwt.view.client.Range/1471336945'] = [instantiate_144, deserialize_147];
  result['com.google.web.bindery.event.shared.UmbrellaException/1025846929'] = [instantiate_145, deserialize_148];
  result['edu.upenn.cis.cis550.hw3.shared.Attribute/4103743804'] = [instantiate_147, deserialize_150];
  result['edu.upenn.cis.cis550.hw3.shared.Attribute$Type/1929173848'] = [instantiate_149, deserialize_152];
  result['[Ledu.upenn.cis.cis550.hw3.shared.Attribute$Type;/3631373113'] = [instantiate_148, deserialize_151];
  result['[Ledu.upenn.cis.cis550.hw3.shared.Attribute;/1273125205'] = [instantiate_146, deserialize_149];
  result['edu.upenn.cis.cis550.hw3.shared.Relation/1718835791'] = [instantiate_150, deserialize_153];
  result['edu.upenn.cis.cis550.hw3.shared.Schema/1406222213'] = [instantiate_151, deserialize_154];
  result['edu.upenn.cis.cis550.hw3.shared.Tuple/1385150477'] = [instantiate_152, deserialize_155];
  result['java.io.IOException/1159940531'] = [instantiate_43, deserialize_43];
  result['java.io.UnsupportedEncodingException/1526756933'] = [instantiate_44, deserialize_44];
  result['java.lang.ArithmeticException/1539622151'] = [instantiate_45, deserialize_45];
  result['java.lang.ArrayIndexOutOfBoundsException/600550433'] = [instantiate_46, deserialize_46];
  result['java.lang.ArrayStoreException/3540507190'] = [instantiate_47, deserialize_47];
  result['java.lang.AssertionError/3490171458'] = [instantiate_48, deserialize_48];
  result['java.lang.Boolean/476441737'] = [instantiate_49, deserialize_49];
  result['java.lang.Byte/1571082439'] = [instantiate_50, deserialize_50];
  result['java.lang.Character/2663399736'] = [instantiate_51, deserialize_51];
  result['java.lang.ClassCastException/702295179'] = [instantiate_52, deserialize_52];
  result['java.lang.Double/858496421'] = [instantiate_53, deserialize_53];
  result['java.lang.Error/1331973429'] = [instantiate_54, deserialize_54];
  result['java.lang.Exception/1920171873'] = [instantiate_55, deserialize_55, serialize_1];
  result['java.lang.Float/1718559123'] = [instantiate_56, deserialize_56];
  result['java.lang.IllegalArgumentException/1755012560'] = [instantiate_57, deserialize_57];
  result['java.lang.IllegalStateException/1972187323'] = [instantiate_58, deserialize_58];
  result['java.lang.IndexOutOfBoundsException/2489527753'] = [instantiate_59, deserialize_59];
  result['java.lang.Integer/3438268394'] = [instantiate_61, deserialize_61];
  result['[Ljava.lang.Integer;/1574882222'] = [instantiate_60, deserialize_60];
  result['java.lang.Long/4227064769'] = [instantiate_62, deserialize_62];
  result['java.lang.NegativeArraySizeException/3846860241'] = [instantiate_63, deserialize_63];
  result['java.lang.NullPointerException/1463492344'] = [instantiate_64, deserialize_64];
  result['java.lang.NumberFormatException/3305228476'] = [instantiate_65, deserialize_65];
  result['java.lang.RuntimeException/515124647'] = [instantiate_66, deserialize_67, serialize_2];
  result['java.lang.Short/551743396'] = [instantiate_67, deserialize_68];
  result['java.lang.StackTraceElement/455763907'] = [instantiate_69, deserialize_70];
  result['[Ljava.lang.StackTraceElement;/3867167983'] = [instantiate_68, deserialize_69];
  result['java.lang.String/2004016611'] = [instantiate_72, deserialize_73, serialize_3];
  result['java.lang.StringIndexOutOfBoundsException/500777603'] = [instantiate_70, deserialize_71];
  result['[Ljava.lang.String;/2600011424'] = [instantiate_71, deserialize_72];
  result['java.lang.Throwable/2953622131'] = [instantiate_73, deserialize_74, serialize_4];
  result['java.lang.UnsupportedOperationException/3744010015'] = [instantiate_74, deserialize_75];
  result['java.lang.Void/2139725816'] = [instantiate_75, deserialize_76];
  result['java.lang.annotation.AnnotationFormatError/2257184627'] = [instantiate_76, deserialize_77];
  result['java.lang.annotation.AnnotationTypeMismatchException/976205828'] = [instantiate_77, deserialize_78];
  result['java.lang.annotation.ElementType/15413163'] = [instantiate_78, deserialize_79];
  result['java.lang.annotation.RetentionPolicy/1244130522'] = [instantiate_79, deserialize_80];
  result['java.math.BigDecimal/8151472'] = [instantiate_80, deserialize_81];
  result['java.math.BigInteger/927293797'] = [instantiate_81, deserialize_82];
  result['java.math.MathContext/1014811437'] = [instantiate_82, deserialize_83];
  result['java.math.RoundingMode/2365096428'] = [instantiate_83, deserialize_84];
  result['java.security.DigestException/629316798'] = [instantiate_84, deserialize_85];
  result['java.security.GeneralSecurityException/2669239907'] = [instantiate_85, deserialize_86];
  result['java.security.NoSuchAlgorithmException/2892037213'] = [instantiate_86, deserialize_87];
  result['java.sql.Date/730999118'] = [instantiate_87, deserialize_88];
  result['java.sql.Time/1816797103'] = [instantiate_88, deserialize_89];
  result['java.sql.Timestamp/3040052672'] = [instantiate_89, deserialize_90];
  result['java.util.ArrayList/4159755760'] = [instantiate_90, deserialize_91];
  result['java.util.Arrays$ArrayList/2507071751'] = [instantiate_91, deserialize_92];
  result['java.util.Collections$EmptyList/4157118744'] = [instantiate_92, deserialize_94];
  result['java.util.Collections$EmptyMap/4174664486'] = [instantiate_93, deserialize_95];
  result['java.util.Collections$EmptySet/3523698179'] = [instantiate_94, deserialize_96];
  result['java.util.Collections$SingletonList/1586180994'] = [instantiate_95, deserialize_97];
  result['java.util.ConcurrentModificationException/2717383897'] = [instantiate_96, deserialize_98];
  result['java.util.Date/3385151746'] = [instantiate_97, deserialize_99];
  result['java.util.EmptyStackException/89438517'] = [instantiate_98, deserialize_100];
  result['java.util.HashMap/1797211028'] = [instantiate_99, deserialize_101];
  result['java.util.HashSet/3273092938'] = [instantiate_100, deserialize_102];
  result['java.util.IdentityHashMap/1839153020'] = [instantiate_101, deserialize_103];
  result['java.util.LinkedHashMap/3008245022'] = [instantiate_102, deserialize_104];
  result['java.util.LinkedHashSet/1826081506'] = [instantiate_103, deserialize_105];
  result['java.util.LinkedList/3953877921'] = [instantiate_104, deserialize_106];
  result['java.util.NoSuchElementException/1559248883'] = [instantiate_105, deserialize_108];
  result['java.util.Stack/1346942793'] = [instantiate_106, deserialize_109];
  result['java.util.TooManyListenersException/2023078032'] = [instantiate_107, deserialize_110];
  result['java.util.TreeMap/1493889780'] = [instantiate_108, deserialize_111];
  result['java.util.TreeSet/4043497002'] = [instantiate_109, deserialize_112];
  result['java.util.Vector/3057315478'] = [instantiate_110, deserialize_113];
  result['java.util.logging.Level/2839552483'] = [instantiate_111, deserialize_114];
  result['java.util.logging.LogRecord/2492345967'] = [instantiate_112, deserialize_115];
  result['javax.validation.ConstraintDeclarationException/3610544007'] = [instantiate_113, deserialize_116];
  result['javax.validation.ConstraintDefinitionException/3732439488'] = [instantiate_114, deserialize_117];
  result['javax.validation.ConstraintViolationException/1185386591'] = [instantiate_153, deserialize_156];
  result['javax.validation.GroupDefinitionException/4024780846'] = [instantiate_115, deserialize_118];
  result['javax.validation.UnexpectedTypeException/593026390'] = [instantiate_116, deserialize_119];
  result['javax.validation.ValidationException/1570221831'] = [instantiate_117, deserialize_120];
  result['javax.validation.constraints.Pattern$Flag/3133410044'] = [instantiate_118, deserialize_121];
  result['javax.validation.metadata.Scope/4054088630'] = [instantiate_119, deserialize_122];
  return result;
}

--></script>
<script><!--
function loadSignaturesNative(){
  var result = [];
  result[getHashCode(Lcom_google_gwt_canvas_dom_client_Context2d$Composite_2_classLit)] = 'com.google.gwt.canvas.dom.client.Context2d$Composite/3412511209';
  result[getHashCode(Lcom_google_gwt_canvas_dom_client_Context2d$LineCap_2_classLit)] = 'com.google.gwt.canvas.dom.client.Context2d$LineCap/4137629416';
  result[getHashCode(Lcom_google_gwt_canvas_dom_client_Context2d$LineJoin_2_classLit)] = 'com.google.gwt.canvas.dom.client.Context2d$LineJoin/773759908';
  result[getHashCode(Lcom_google_gwt_canvas_dom_client_Context2d$Repetition_2_classLit)] = 'com.google.gwt.canvas.dom.client.Context2d$Repetition/200032891';
  result[getHashCode(Lcom_google_gwt_canvas_dom_client_Context2d$TextAlign_2_classLit)] = 'com.google.gwt.canvas.dom.client.Context2d$TextAlign/96304101';
  result[getHashCode(Lcom_google_gwt_canvas_dom_client_Context2d$TextBaseline_2_classLit)] = 'com.google.gwt.canvas.dom.client.Context2d$TextBaseline/1387606880';
  result[getHashCode(Lcom_google_gwt_cell_client_ButtonCellBase$Decoration_2_classLit)] = 'com.google.gwt.cell.client.ButtonCellBase$Decoration/2339543658';
  result[getHashCode(Lcom_google_gwt_core_client_CodeDownloadException$Reason_2_classLit)] = 'com.google.gwt.core.client.CodeDownloadException$Reason/4099226274';
  result[getHashCode(Lcom_google_gwt_core_client_impl_SerializableThrowable_2_classLit)] = 'com.google.gwt.core.client.impl.SerializableThrowable/3336179259';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit)] = 'com.google.gwt.dom.client.Style$BorderStyle/2769837833';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$Cursor_2_classLit)] = 'com.google.gwt.dom.client.Style$Cursor/2666657890';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$Display_2_classLit)] = 'com.google.gwt.dom.client.Style$Display/1537475515';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$Float_2_classLit)] = 'com.google.gwt.dom.client.Style$Float/1495215860';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$FontStyle_2_classLit)] = 'com.google.gwt.dom.client.Style$FontStyle/2182768286';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$FontWeight_2_classLit)] = 'com.google.gwt.dom.client.Style$FontWeight/3557458763';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$ListStyleType_2_classLit)] = 'com.google.gwt.dom.client.Style$ListStyleType/1064239610';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$Overflow_2_classLit)] = 'com.google.gwt.dom.client.Style$Overflow/982122884';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$Position_2_classLit)] = 'com.google.gwt.dom.client.Style$Position/548017857';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$TableLayout_2_classLit)] = 'com.google.gwt.dom.client.Style$TableLayout/1430616401';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$TextDecoration_2_classLit)] = 'com.google.gwt.dom.client.Style$TextDecoration/3846779252';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$Unit_2_classLit)] = 'com.google.gwt.dom.client.Style$Unit/269426519';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$VerticalAlign_2_classLit)] = 'com.google.gwt.dom.client.Style$VerticalAlign/352429624';
  result[getHashCode(Lcom_google_gwt_dom_client_Style$Visibility_2_classLit)] = 'com.google.gwt.dom.client.Style$Visibility/1861510052';
  result[getHashCode(Lcom_google_gwt_event_shared_UmbrellaException_2_classLit)] = 'com.google.gwt.event.shared.UmbrellaException/3104463596';
  result[getHashCode(Lcom_google_gwt_http_client_RequestException_2_classLit)] = 'com.google.gwt.http.client.RequestException/190587325';
  result[getHashCode(Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit)] = 'com.google.gwt.i18n.client.DateTimeFormat$PredefinedFormat/229723443';
  result[getHashCode(Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit)] = 'com.google.gwt.i18n.client.HasDirection$Direction/1284232723';
  result[getHashCode(Lcom_google_gwt_i18n_shared_DateTimeFormat$PredefinedFormat_2_classLit)] = 'com.google.gwt.i18n.shared.DateTimeFormat$PredefinedFormat/649735428';
  result[getHashCode(Lcom_google_gwt_i18n_shared_impl_DateRecord_2_classLit)] = 'com.google.gwt.i18n.shared.impl.DateRecord/3375188634';
  result[getHashCode(Lcom_google_gwt_jsonp_client_TimeoutException_2_classLit)] = 'com.google.gwt.jsonp.client.TimeoutException/1112787596';
  result[getHashCode(Lcom_google_gwt_layout_client_Layout$Alignment_2_classLit)] = 'com.google.gwt.layout.client.Layout$Alignment/1758648740';
  result[getHashCode(Lcom_google_gwt_resources_client_ImageResource$RepeatStyle_2_classLit)] = 'com.google.gwt.resources.client.ImageResource$RepeatStyle/2798118115';
  result[getHashCode(Lcom_google_gwt_safecss_shared_SafeStylesString_2_classLit)] = 'com.google.gwt.safecss.shared.SafeStylesString/1334499262';
  result[getHashCode(Lcom_google_gwt_safehtml_shared_SafeHtmlString_2_classLit)] = 'com.google.gwt.safehtml.shared.SafeHtmlString/235635043';
  result[getHashCode(Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit)] = 'com.google.gwt.user.cellview.client.HasKeyboardPagingPolicy$KeyboardPagingPolicy/3115114274';
  result[getHashCode(Lcom_google_gwt_user_cellview_client_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_2_classLit)] = 'com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy$KeyboardSelectionPolicy/2212535585';
  result[getHashCode(Lcom_google_gwt_user_cellview_client_SimplePager$TextLocation_2_classLit)] = 'com.google.gwt.user.cellview.client.SimplePager$TextLocation/844327705';
  result[getHashCode(Lcom_google_gwt_user_client_DocumentModeAsserter$Severity_2_classLit)] = 'com.google.gwt.user.client.DocumentModeAsserter$Severity/1368792051';
  result[getHashCode(Lcom_google_gwt_user_client_rpc_IncompatibleRemoteServiceException_2_classLit)] = 'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533';
  result[getHashCode(Lcom_google_gwt_user_client_rpc_RpcTokenException_2_classLit)] = 'com.google.gwt.user.client.rpc.RpcTokenException/2345075298';
  result[getHashCode(Lcom_google_gwt_user_client_rpc_SerializableException_2_classLit)] = 'com.google.gwt.user.client.rpc.SerializableException/3047383460';
  result[getHashCode(Lcom_google_gwt_user_client_rpc_SerializationException_2_classLit)] = 'com.google.gwt.user.client.rpc.SerializationException/2836333220';
  result[getHashCode(Lcom_google_gwt_user_client_rpc_ServiceDefTarget$NoServiceEntryPointSpecifiedException_2_classLit)] = 'com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException/3408313447';
  result[getHashCode(Lcom_google_gwt_user_client_rpc_XsrfToken_2_classLit)] = 'com.google.gwt.user.client.rpc.XsrfToken/4254043109';
  result[getHashCode(Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit)] = 'com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter$ResponseReader/3885798731';
  result[getHashCode(Lcom_google_gwt_user_client_ui_ChangeListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.ChangeListenerCollection/287642957';
  result[getHashCode(Lcom_google_gwt_user_client_ui_ClickListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.ClickListenerCollection/2152455986';
  result[getHashCode(Lcom_google_gwt_user_client_ui_DockLayoutPanel$Direction_2_classLit)] = 'com.google.gwt.user.client.ui.DockLayoutPanel$Direction/1124902987';
  result[getHashCode(Lcom_google_gwt_user_client_ui_FocusListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.FocusListenerCollection/119490835';
  result[getHashCode(Lcom_google_gwt_user_client_ui_FormHandlerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.FormHandlerCollection/3088681894';
  result[getHashCode(Lcom_google_gwt_user_client_ui_KeyboardListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.KeyboardListenerCollection/1040442242';
  result[getHashCode(Lcom_google_gwt_user_client_ui_LoadListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.LoadListenerCollection/3174178888';
  result[getHashCode(Lcom_google_gwt_user_client_ui_MouseListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.MouseListenerCollection/465158911';
  result[getHashCode(Lcom_google_gwt_user_client_ui_MouseWheelListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.MouseWheelListenerCollection/370304552';
  result[getHashCode(Lcom_google_gwt_user_client_ui_MultiWordSuggestOracle$MultiWordSuggestion_2_classLit)] = 'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099';
  result[getHashCode(_3Lcom_google_gwt_user_client_ui_MultiWordSuggestOracle$MultiWordSuggestion_2_classLit)] = '[Lcom.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion;/1531882420';
  result[getHashCode(Lcom_google_gwt_user_client_ui_PopupListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.PopupListenerCollection/1920131050';
  result[getHashCode(Lcom_google_gwt_user_client_ui_PopupPanel$AnimationType_2_classLit)] = 'com.google.gwt.user.client.ui.PopupPanel$AnimationType/2686977168';
  result[getHashCode(Lcom_google_gwt_user_client_ui_ScrollListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.ScrollListenerCollection/210686268';
  result[getHashCode(Lcom_google_gwt_user_client_ui_SuggestOracle$Request_2_classLit)] = 'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745';
  result[getHashCode(Lcom_google_gwt_user_client_ui_SuggestOracle$Response_2_classLit)] = 'com.google.gwt.user.client.ui.SuggestOracle$Response/3840253928';
  result[getHashCode(_3Lcom_google_gwt_user_client_ui_SuggestOracle$Suggestion_2_classLit)] = '[Lcom.google.gwt.user.client.ui.SuggestOracle$Suggestion;/3224244884';
  result[getHashCode(Lcom_google_gwt_user_client_ui_TabListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.TabListenerCollection/3768293299';
  result[getHashCode(Lcom_google_gwt_user_client_ui_TableListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.TableListenerCollection/2254740473';
  result[getHashCode(Lcom_google_gwt_user_client_ui_TreeListenerCollection_2_classLit)] = 'com.google.gwt.user.client.ui.TreeListenerCollection/3716243734';
  result[getHashCode(Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit)] = 'com.google.gwt.user.client.ui.ValueBoxBase$TextAlignment/3036099298';
  result[getHashCode(Lcom_google_gwt_validation_client_impl_PathImpl_2_classLit)] = 'com.google.gwt.validation.client.impl.PathImpl/3029772396';
  result[getHashCode(Lcom_google_gwt_view_client_DefaultSelectionEventManager$SelectAction_2_classLit)] = 'com.google.gwt.view.client.DefaultSelectionEventManager$SelectAction/3096171525';
  result[getHashCode(Lcom_google_gwt_view_client_Range_2_classLit)] = 'com.google.gwt.view.client.Range/1471336945';
  result[getHashCode(Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit)] = 'com.google.web.bindery.event.shared.UmbrellaException/1025846929';
  result[getHashCode(Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit)] = 'edu.upenn.cis.cis550.hw3.shared.Attribute/4103743804';
  result[getHashCode(Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit)] = 'edu.upenn.cis.cis550.hw3.shared.Attribute$Type/1929173848';
  result[getHashCode(_3Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit)] = '[Ledu.upenn.cis.cis550.hw3.shared.Attribute$Type;/3631373113';
  result[getHashCode(_3Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit)] = '[Ledu.upenn.cis.cis550.hw3.shared.Attribute;/1273125205';
  result[getHashCode(Ledu_upenn_cis_cis550_hw3_shared_Relation_2_classLit)] = 'edu.upenn.cis.cis550.hw3.shared.Relation/1718835791';
  result[getHashCode(Ledu_upenn_cis_cis550_hw3_shared_Schema_2_classLit)] = 'edu.upenn.cis.cis550.hw3.shared.Schema/1406222213';
  result[getHashCode(Ledu_upenn_cis_cis550_hw3_shared_Tuple_2_classLit)] = 'edu.upenn.cis.cis550.hw3.shared.Tuple/1385150477';
  result[getHashCode(Ljava_io_IOException_2_classLit)] = 'java.io.IOException/1159940531';
  result[getHashCode(Ljava_io_UnsupportedEncodingException_2_classLit)] = 'java.io.UnsupportedEncodingException/1526756933';
  result[getHashCode(Ljava_lang_ArithmeticException_2_classLit)] = 'java.lang.ArithmeticException/1539622151';
  result[getHashCode(Ljava_lang_ArrayIndexOutOfBoundsException_2_classLit)] = 'java.lang.ArrayIndexOutOfBoundsException/600550433';
  result[getHashCode(Ljava_lang_ArrayStoreException_2_classLit)] = 'java.lang.ArrayStoreException/3540507190';
  result[getHashCode(Ljava_lang_AssertionError_2_classLit)] = 'java.lang.AssertionError/3490171458';
  result[getHashCode(Ljava_lang_Boolean_2_classLit)] = 'java.lang.Boolean/476441737';
  result[getHashCode(Ljava_lang_Byte_2_classLit)] = 'java.lang.Byte/1571082439';
  result[getHashCode(Ljava_lang_Character_2_classLit)] = 'java.lang.Character/2663399736';
  result[getHashCode(Ljava_lang_ClassCastException_2_classLit)] = 'java.lang.ClassCastException/702295179';
  result[getHashCode(Ljava_lang_Double_2_classLit)] = 'java.lang.Double/858496421';
  result[getHashCode(Ljava_lang_Error_2_classLit)] = 'java.lang.Error/1331973429';
  result[getHashCode(Ljava_lang_Exception_2_classLit)] = 'java.lang.Exception/1920171873';
  result[getHashCode(Ljava_lang_Float_2_classLit)] = 'java.lang.Float/1718559123';
  result[getHashCode(Ljava_lang_IllegalArgumentException_2_classLit)] = 'java.lang.IllegalArgumentException/1755012560';
  result[getHashCode(Ljava_lang_IllegalStateException_2_classLit)] = 'java.lang.IllegalStateException/1972187323';
  result[getHashCode(Ljava_lang_IndexOutOfBoundsException_2_classLit)] = 'java.lang.IndexOutOfBoundsException/2489527753';
  result[getHashCode(Ljava_lang_Integer_2_classLit)] = 'java.lang.Integer/3438268394';
  result[getHashCode(_3Ljava_lang_Integer_2_classLit)] = '[Ljava.lang.Integer;/1574882222';
  result[getHashCode(Ljava_lang_Long_2_classLit)] = 'java.lang.Long/4227064769';
  result[getHashCode(Ljava_lang_NegativeArraySizeException_2_classLit)] = 'java.lang.NegativeArraySizeException/3846860241';
  result[getHashCode(Ljava_lang_NullPointerException_2_classLit)] = 'java.lang.NullPointerException/1463492344';
  result[getHashCode(Ljava_lang_NumberFormatException_2_classLit)] = 'java.lang.NumberFormatException/3305228476';
  result[getHashCode(Ljava_lang_RuntimeException_2_classLit)] = 'java.lang.RuntimeException/515124647';
  result[getHashCode(Ljava_lang_Short_2_classLit)] = 'java.lang.Short/551743396';
  result[getHashCode(Ljava_lang_StackTraceElement_2_classLit)] = 'java.lang.StackTraceElement/455763907';
  result[getHashCode(_3Ljava_lang_StackTraceElement_2_classLit)] = '[Ljava.lang.StackTraceElement;/3867167983';
  result[getHashCode(Ljava_lang_String_2_classLit)] = 'java.lang.String/2004016611';
  result[getHashCode(Ljava_lang_StringIndexOutOfBoundsException_2_classLit)] = 'java.lang.StringIndexOutOfBoundsException/500777603';
  result[getHashCode(_3Ljava_lang_String_2_classLit)] = '[Ljava.lang.String;/2600011424';
  result[getHashCode(Ljava_lang_Throwable_2_classLit)] = 'java.lang.Throwable/2953622131';
  result[getHashCode(Ljava_lang_UnsupportedOperationException_2_classLit)] = 'java.lang.UnsupportedOperationException/3744010015';
  result[getHashCode(Ljava_lang_Void_2_classLit)] = 'java.lang.Void/2139725816';
  result[getHashCode(Ljava_lang_annotation_AnnotationFormatError_2_classLit)] = 'java.lang.annotation.AnnotationFormatError/2257184627';
  result[getHashCode(Ljava_lang_annotation_AnnotationTypeMismatchException_2_classLit)] = 'java.lang.annotation.AnnotationTypeMismatchException/976205828';
  result[getHashCode(Ljava_lang_annotation_ElementType_2_classLit)] = 'java.lang.annotation.ElementType/15413163';
  result[getHashCode(Ljava_lang_annotation_RetentionPolicy_2_classLit)] = 'java.lang.annotation.RetentionPolicy/1244130522';
  result[getHashCode(Ljava_math_BigDecimal_2_classLit)] = 'java.math.BigDecimal/8151472';
  result[getHashCode(Ljava_math_BigInteger_2_classLit)] = 'java.math.BigInteger/927293797';
  result[getHashCode(Ljava_math_MathContext_2_classLit)] = 'java.math.MathContext/1014811437';
  result[getHashCode(Ljava_math_RoundingMode_2_classLit)] = 'java.math.RoundingMode/2365096428';
  result[getHashCode(Ljava_security_DigestException_2_classLit)] = 'java.security.DigestException/629316798';
  result[getHashCode(Ljava_security_GeneralSecurityException_2_classLit)] = 'java.security.GeneralSecurityException/2669239907';
  result[getHashCode(Ljava_security_NoSuchAlgorithmException_2_classLit)] = 'java.security.NoSuchAlgorithmException/2892037213';
  result[getHashCode(Ljava_sql_Date_2_classLit)] = 'java.sql.Date/730999118';
  result[getHashCode(Ljava_sql_Time_2_classLit)] = 'java.sql.Time/1816797103';
  result[getHashCode(Ljava_sql_Timestamp_2_classLit)] = 'java.sql.Timestamp/3040052672';
  result[getHashCode(Ljava_util_ArrayList_2_classLit)] = 'java.util.ArrayList/4159755760';
  result[getHashCode(Ljava_util_Arrays$ArrayList_2_classLit)] = 'java.util.Arrays$ArrayList/2507071751';
  result[getHashCode(Ljava_util_Collections$EmptyList_2_classLit)] = 'java.util.Collections$EmptyList/4157118744';
  result[getHashCode(Ljava_util_Collections$EmptyMap_2_classLit)] = 'java.util.Collections$EmptyMap/4174664486';
  result[getHashCode(Ljava_util_Collections$EmptySet_2_classLit)] = 'java.util.Collections$EmptySet/3523698179';
  result[getHashCode(Ljava_util_Collections$SingletonList_2_classLit)] = 'java.util.Collections$SingletonList/1586180994';
  result[getHashCode(Ljava_util_ConcurrentModificationException_2_classLit)] = 'java.util.ConcurrentModificationException/2717383897';
  result[getHashCode(Ljava_util_Date_2_classLit)] = 'java.util.Date/3385151746';
  result[getHashCode(Ljava_util_EmptyStackException_2_classLit)] = 'java.util.EmptyStackException/89438517';
  result[getHashCode(Ljava_util_HashMap_2_classLit)] = 'java.util.HashMap/1797211028';
  result[getHashCode(Ljava_util_HashSet_2_classLit)] = 'java.util.HashSet/3273092938';
  result[getHashCode(Ljava_util_IdentityHashMap_2_classLit)] = 'java.util.IdentityHashMap/1839153020';
  result[getHashCode(Ljava_util_LinkedHashMap_2_classLit)] = 'java.util.LinkedHashMap/3008245022';
  result[getHashCode(Ljava_util_LinkedHashSet_2_classLit)] = 'java.util.LinkedHashSet/1826081506';
  result[getHashCode(Ljava_util_LinkedList_2_classLit)] = 'java.util.LinkedList/3953877921';
  result[getHashCode(Ljava_util_NoSuchElementException_2_classLit)] = 'java.util.NoSuchElementException/1559248883';
  result[getHashCode(Ljava_util_Stack_2_classLit)] = 'java.util.Stack/1346942793';
  result[getHashCode(Ljava_util_TooManyListenersException_2_classLit)] = 'java.util.TooManyListenersException/2023078032';
  result[getHashCode(Ljava_util_TreeMap_2_classLit)] = 'java.util.TreeMap/1493889780';
  result[getHashCode(Ljava_util_TreeSet_2_classLit)] = 'java.util.TreeSet/4043497002';
  result[getHashCode(Ljava_util_Vector_2_classLit)] = 'java.util.Vector/3057315478';
  result[getHashCode(Ljava_util_logging_Level_2_classLit)] = 'java.util.logging.Level/2839552483';
  result[getHashCode(Ljava_util_logging_LogRecord_2_classLit)] = 'java.util.logging.LogRecord/2492345967';
  result[getHashCode(Ljavax_validation_ConstraintDeclarationException_2_classLit)] = 'javax.validation.ConstraintDeclarationException/3610544007';
  result[getHashCode(Ljavax_validation_ConstraintDefinitionException_2_classLit)] = 'javax.validation.ConstraintDefinitionException/3732439488';
  result[getHashCode(Ljavax_validation_ConstraintViolationException_2_classLit)] = 'javax.validation.ConstraintViolationException/1185386591';
  result[getHashCode(Ljavax_validation_GroupDefinitionException_2_classLit)] = 'javax.validation.GroupDefinitionException/4024780846';
  result[getHashCode(Ljavax_validation_UnexpectedTypeException_2_classLit)] = 'javax.validation.UnexpectedTypeException/593026390';
  result[getHashCode(Ljavax_validation_ValidationException_2_classLit)] = 'javax.validation.ValidationException/1570221831';
  result[getHashCode(Ljavax_validation_constraints_Pattern$Flag_2_classLit)] = 'javax.validation.constraints.Pattern$Flag/3133410044';
  result[getHashCode(Ljavax_validation_metadata_Scope_2_classLit)] = 'javax.validation.metadata.Scope/4054088630';
  return result;
}

function QueryTables_TypeSerializer(){
}

_ = QueryTables_TypeSerializer_0.prototype = QueryTables_TypeSerializer.prototype = new SerializerBase;
_.getClass$ = function getClass_391(){
  return Ledu_upenn_cis_cis550_hw3_client_QueryTables_1TypeSerializer_2_classLit;
}
;
var methodMapNative_0 = null;
function $createJoinPopup(){
}

function $createRelationPopup(this$static){
  var closeButton, dialogBox, dialogVPanel, schemaLabel, scroller, serverResponseLabel;
  dialogBox = new DialogBox_0;
  $setText(dialogBox.caption, 'CIS 550 HW3 - Query Results');
  dialogBox.isAnimationEnabled = true;
  closeButton = new Button_0('Close');
  closeButton.element.id = 'closeButton';
  schemaLabel = new HTML_0;
  serverResponseLabel = new HTML_0;
  dialogVPanel = new VerticalPanel_0;
  setStyleName(dialogVPanel.element, 'dialogVPanel', true);
  $add_6(dialogVPanel, new HTML_1('<br><b>Relation schema:<\/b>'));
  $add_6(dialogVPanel, schemaLabel);
  $add_6(dialogVPanel, new HTML_1('<br><b>Returned data:<\/b>'));
  $setHorizontalAlignment(dialogVPanel, ($clinit_HasHorizontalAlignment() , ALIGN_RIGHT));
  $setWidget(dialogBox.decPanel, dialogVPanel);
  $maybeUpdateSize(dialogBox);
  scroller = new ScrollPanel_0;
  scroller.element.style['height'] = '400px';
  $add_6(dialogVPanel, scroller);
  $add_6(dialogVPanel, closeButton);
  $getRelation(this$static.queryService, new WebTables$3_0(dialogBox, serverResponseLabel, closeButton, schemaLabel, scroller));
  $addDomHandler(closeButton, new WebTables$4_0(dialogBox), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
}

function $onModuleLoad_0(this$static){
  var actors, buttons, imdb, join, l1, l2, movie, moviePanel, rel, thePanel;
  l1 = new Label_0('Please click on a button below to see a table:');
  setStyleName(l1.element, 'instruction', true);
  rel = new Button_0('Sample relation from HW2');
  imdb = new Button_0('Original IMDB table');
  actors = new Button_0('Actors table');
  join = new Button_0('Show rejoined results');
  l2 = new Label_0('Movie name to show rejoined results for: ');
  movie = new TextBox_0;
  thePanel = new VerticalPanel_0;
  $add_0(($clinit_RootPanel() , get_0()), thePanel);
  $add_6(thePanel, l1);
  $add_6(thePanel, new HTML_1('<p><\/p>'));
  buttons = new HorizontalPanel_0;
  $add_6(thePanel, buttons);
  $add_5(buttons, rel);
  $add_5(buttons, imdb);
  $add_5(buttons, actors);
  $add_6(thePanel, new HTML_1('<p><\/p>'));
  moviePanel = new HorizontalPanel_0;
  $add_6(thePanel, moviePanel);
  $add_5(moviePanel, l2);
  $add_5(moviePanel, movie);
  $add_5(moviePanel, join);
  $addDomHandler(rel, new WebTables$1_0(this$static), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  $addDomHandler(join, new WebTables$2_0(movie), TYPE);
  imdb.element['disabled'] = true;
  actors.element['disabled'] = true;
}

function WebTables_0(){
  this.queryService = new QueryTables_Proxy_0;
}

function WebTables(){
}

_ = WebTables_0.prototype = WebTables.prototype = new Object_0;
_.getClass$ = function getClass_392(){
  return Ledu_upenn_cis_cis550_hw3_client_WebTables_2_classLit;
}
;
function WebTables$1_0(this$0){
  this.this$0 = this$0;
}

function WebTables$1(){
}

_ = WebTables$1_0.prototype = WebTables$1.prototype = new Object_0;
_.getClass$ = function getClass_393(){
  return Ledu_upenn_cis_cis550_hw3_client_WebTables$1_2_classLit;
}
;
_.onClick = function onClick(event_0){
  $createRelationPopup(this.this$0);
}
;
_.castableTypeMap$ = makeCastMap([Q$ClickHandler, Q$EventHandler]);
_.this$0 = null;
function WebTables$2_0(val$movie){
  this.val$movie = val$movie;
}

function WebTables$2(){
}

_ = WebTables$2_0.prototype = WebTables$2.prototype = new Object_0;
_.getClass$ = function getClass_394(){
  return Ledu_upenn_cis_cis550_hw3_client_WebTables$2_2_classLit;
}
;
_.onClick = function onClick_0(event_0){
  !$getPropertyString(this.val$movie.element, 'value').length?($wnd.alert('Sorry, you must select a movie to see the join result') , undefined):$createJoinPopup($getPropertyString(this.val$movie.element, 'value'));
}
;
_.castableTypeMap$ = makeCastMap([Q$ClickHandler, Q$EventHandler]);
_.val$movie = null;
function $onFailure(this$static){
  $setText(this$static.val$dialogBox.caption, 'Remote Procedure Call - Failure');
  setStyleName(this$static.val$serverResponseLabel.element, 'serverResponseLabelError', true);
  $setTextOrHtml(this$static.val$serverResponseLabel.directionalTextHelper, 'An error occurred while attempting to contact the server. Please check your network connection and try again.', true);
  $show_0(this$static.val$dialogBox);
  $center(this$static.val$dialogBox);
  $setFocus(this$static.val$closeButton);
}

function $onSuccess(this$static, result){
  var tab, relList;
  $setText(this$static.val$schemaLabel, $toString_1(result.schema));
  $add_4(this$static.val$scroller, (tab = $getTable(result.schema) , $addAll_1(tab, (relList = new ArrayList_0 , $addAll(relList, result) , relList)) , tab));
  $show_0(this$static.val$dialogBox);
  $center(this$static.val$dialogBox);
}

function WebTables$3_0(val$dialogBox, val$serverResponseLabel, val$closeButton, val$schemaLabel, val$scroller){
  this.val$dialogBox = val$dialogBox;
  this.val$serverResponseLabel = val$serverResponseLabel;
  this.val$closeButton = val$closeButton;
  this.val$schemaLabel = val$schemaLabel;
  this.val$scroller = val$scroller;
}

function WebTables$3(){
}

_ = WebTables$3_0.prototype = WebTables$3.prototype = new Object_0;
_.getClass$ = function getClass_395(){
  return Ledu_upenn_cis_cis550_hw3_client_WebTables$3_2_classLit;
}
;
_.val$closeButton = null;
_.val$dialogBox = null;
_.val$schemaLabel = null;
_.val$scroller = null;
_.val$serverResponseLabel = null;
function WebTables$4_0(val$dialogBox){
  this.val$dialogBox = val$dialogBox;
}

function WebTables$4(){
}

_ = WebTables$4_0.prototype = WebTables$4.prototype = new Object_0;
_.getClass$ = function getClass_396(){
  return Ledu_upenn_cis_cis550_hw3_client_WebTables$4_2_classLit;
}
;
_.onClick = function onClick_1(event_0){
  $hide_0(this.val$dialogBox);
}
;
_.castableTypeMap$ = makeCastMap([Q$ClickHandler, Q$EventHandler]);
_.val$dialogBox = null;
function $addAll_1(this$static, item){
  $addAll_0(this$static.dataProvider.listWrapper, item);
}

function $getRowCount(this$static){
  var ret;
  ret = this$static.dataProvider.listWrapper.list.size_0();
  $setVisibleRange(this$static, new Range_1(0, $getVisibleRange(this$static.presenter).length_0));
  $setVisibleRange(this$static, new Range_1($getVisibleRange(this$static.presenter).start, ret));
  $setRowCount_0(this$static.presenter, ret, true);
  return ret;
}

function $setSize(this$static, size){
  $setRowCount_0(this$static.presenter, size, true);
  $setVisibleRange(this$static, new Range_1(0, $getVisibleRange(this$static.presenter).length_0));
  $setVisibleRange(this$static, new Range_1($getVisibleRange(this$static.presenter).start, size));
}

function PagedTable_0(dataList, keyProvider, columnNames, columns){
  var i, seriesSelectionModel;
  CellTable_0.call(this, !DEFAULT_RESOURCES && (DEFAULT_RESOURCES = new CellTable_Resources_default_InlineClientBundleGenerator_0));
  this.dataPager = new ShowMorePagerPanel_0;
  this.dataProvider = new ListDataProvider_0;
  $setVisibleRange(this, new Range_1($getVisibleRange(this.presenter).start, 20));
  $setKeyboardSelectionPolicy(this, ($clinit_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy() , ENABLED));
  $setKeyboardPagingPolicy(this, ($clinit_HasKeyboardPagingPolicy$KeyboardPagingPolicy() , INCREASE_RANGE));
  seriesSelectionModel = new SingleSelectionModel_0(keyProvider);
  $setSelectionModel(this.presenter, seriesSelectionModel);
  for (i = 0; i < columnNames.size_0(); ++i) {
    $addColumn(this, dynamicCast((checkIndex(i, columns.size) , columns.array[i]), Q$Column), dynamicCast(columnNames.get(i), Q$String));
    $addClassName($ensureTableColElement(this, i), 'seriesCol');
  }
  $addHandler_0(this, new PagedTable$2_0, (!TYPE_14 && (TYPE_14 = new GwtEvent$Type_0) , TYPE_14));
  $setDisplay_0(this.dataPager, this);
  $setList(this.dataProvider, dataList);
  $setSize(this, dataList.size);
  $addDataDisplay(this.dataProvider, this);
  $flushNow(this.dataProvider.listWrapper);
}

function PagedTable(){
}

_ = PagedTable_0.prototype = PagedTable.prototype = new CellTable;
_.getClass$ = function getClass_397(){
  return Ledu_upenn_cis_cis550_hw3_client_widgets_PagedTable_2_classLit;
}
;
_.getRowCount = function getRowCount_0(){
  return $getRowCount(this);
}
;
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget, Q$HasData]);
function PagedTable$2_0(){
  new HashMap_0;
}

function PagedTable$2(){
}

_ = PagedTable$2_0.prototype = PagedTable$2.prototype = new ColumnSortEvent$ListHandler;
_.getClass$ = function getClass_398(){
  return Ledu_upenn_cis_cis550_hw3_client_widgets_PagedTable$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$EventHandler]);
function $setDisplay_0(this$static, display){
  $setWidget(this$static.scrollable, display);
  $setDisplay(this$static, display);
}

function ShowMorePagerPanel_0(){
  this.scrollable = new ScrollPanel_0;
  $initWidget(this, this.scrollable);
  this.scrollable.element.tabIndex = -1;
  $addScrollHandler(this.scrollable, new ShowMorePagerPanel$1_0(this));
}

function ShowMorePagerPanel(){
}

_ = ShowMorePagerPanel_0.prototype = ShowMorePagerPanel.prototype = new AbstractPager;
_.getClass$ = function getClass_399(){
  return Ledu_upenn_cis_cis550_hw3_client_widgets_ShowMorePagerPanel_2_classLit;
}
;
--></script>
<script><!--
_.castableTypeMap$ = makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]);
_.lastScrollPos = 0;
function $onScroll(this$static){
  var display, maxScrollTop, newPageSize, oldScrollPos;
  oldScrollPos = this$static.this$0.lastScrollPos;
  this$static.this$0.lastScrollPos = this$static.this$0.scrollable.scrollableElem.scrollTop || 0;
  if (oldScrollPos >= this$static.this$0.lastScrollPos) {
    return;
  }
  display = this$static.this$0.display_0;
  if (!display) {
    return;
  }
  maxScrollTop = this$static.this$0.scrollable.widget.getOffsetHeight() - $getPropertyInt(this$static.this$0.scrollable.element, 'offsetHeight');
  if (this$static.this$0.lastScrollPos >= maxScrollTop) {
    newPageSize = min($getVisibleRange(display.presenter).length_0 + 20, $getRowCount(display));
    $setVisibleRange(display, new Range_1(0, newPageSize));
  }
}

function ShowMorePagerPanel$1_0(this$0){
  this.this$0 = this$0;
}

function ShowMorePagerPanel$1(){
}

_ = ShowMorePagerPanel$1_0.prototype = ShowMorePagerPanel$1.prototype = new Object_0;
_.getClass$ = function getClass_400(){
  return Ledu_upenn_cis_cis550_hw3_client_widgets_ShowMorePagerPanel$1_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$ScrollHandler, Q$EventHandler]);
_.this$0 = null;
function $compareTo_0(this$static, value2){
  return compare(this$static.type_0, this$static.value, value2.value);
}

function Attribute_0(){
  this.type_0 = ($clinit_Attribute$Type() , IntType);
  this.value = '';
}

function compare(t, value1, value2){
  switch (t.ordinal) {
    case 0:
      return $compareTo_6(valueOf_1(__parseAndValidateInt(value1.toString$())), valueOf_1(__parseAndValidateInt(value2.toString$())));
    case 1:
      return compareTo_11(value1.toString$(), value2.toString$());
    case 2:
      return $compareTo_4(new Double_0(__parseAndValidateDouble(value1.toString$())), new Double_0(__parseAndValidateDouble(value2.toString$())));
    default:throw new RuntimeException_1('Unable to instantiate type');
  }
}

function Attribute(){
}

_ = Attribute_0.prototype = Attribute.prototype = new Object_0;
_.compareTo$ = function compareTo_2(value2){
  return $compareTo_0(this, dynamicCast(value2, Q$Attribute));
}
;
_.equals$ = function equals_13(value2){
  if (!instanceOf(value2, Q$Attribute))
    return false;
  return $compareTo_0(this, dynamicCast(value2, Q$Attribute)) == 0 && Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit == getClass__devirtual$(value2);
}
;
_.getClass$ = function getClass_401(){
  return Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit;
}
;
_.hashCode$ = function hashCode_15(){
  return this.value.hashCode$();
}
;
_.toString$ = function toString_15(){
  return this.value.toString$();
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$Attribute, Q$Comparable]);
_.type_0 = null;
_.value = null;
function $clinit_Attribute$Type(){
  $clinit_Attribute$Type = nullMethod;
  IntType = new Attribute$Type_0('IntType', 0);
  StringType = new Attribute$Type_0('StringType', 1);
  DoubleType = new Attribute$Type_0('DoubleType', 2);
  $VALUES_35 = initValues(_3Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Attribute$Type, [IntType, StringType, DoubleType]);
}

function Attribute$Type_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_36(){
  $clinit_Attribute$Type();
  return $VALUES_35;
}

function Attribute$Type(){
}

_ = Attribute$Type_0.prototype = Attribute$Type.prototype = new Enum;
_.getClass$ = function getClass_402(){
  return Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Attribute$Type, Q$Serializable, Q$Comparable, Q$Enum]);
var $VALUES_35, DoubleType, IntType, StringType;
function deserialize_149(streamReader, instance){
  deserialize_66(streamReader, instance);
}

function instantiate_146(streamReader){
  var size;
  size = $readInt(streamReader);
  return initDim(_3Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Attribute, size, 0);
}

function deserialize_150(streamReader, instance){
  instance.type_0 = dynamicCast($readObject(streamReader), Q$Attribute$Type);
  instance.value = dynamicCast($readObject(streamReader), Q$Serializable);
}

function instantiate_147(streamReader){
  return new Attribute_0;
}

function deserialize_151(streamReader, instance){
  deserialize_66(streamReader, instance);
}

function instantiate_148(streamReader){
  var size;
  size = $readInt(streamReader);
  return initDim(_3Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Attribute$Type, size, 0);
}

function deserialize_152(streamReader, instance){
}

function instantiate_149(streamReader){
  var ordinal, values;
  ordinal = $readInt(streamReader);
  values = ($clinit_Attribute$Type() , $clinit_Attribute$Type() , $VALUES_35);
  return values[ordinal];
}

function AbstractSet(){
}

_ = AbstractSet.prototype = new AbstractCollection;
_.equals$ = function equals_14(o){
  var iter, other, otherItem;
  if (o === this) {
    return true;
  }
  if (!instanceOf(o, Q$Set)) {
    return false;
  }
  other = dynamicCast(o, Q$Set);
  if (other.size_0() != this.size_0()) {
    return false;
  }
  for (iter = other.iterator(); iter.hasNext();) {
    otherItem = iter.next_0();
    if (!this.contains(otherItem)) {
      return false;
    }
  }
  return true;
}
;
_.getClass$ = function getClass_403(){
  return Ljava_util_AbstractSet_2_classLit;
}
;
_.hashCode$ = function hashCode_16(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator(); iter.hasNext();) {
    next = iter.next_0();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$Set]);
function $add_8(this$static, o){
  var old;
  old = this$static.map.put(o, this$static);
  return old == null;
}

function $contains(this$static, o){
  return this$static.map.containsKey(o);
}

function $remove_7(this$static, o){
  return this$static.map.remove_3(o) != null;
}

function HashSet_0(){
  this.map = new HashMap_0;
}

function HashSet_1(map){
  this.map = map;
}

function HashSet(){
}

_ = HashSet_0.prototype = HashSet.prototype = new AbstractSet;
_.add = function add_7(o){
  return $add_8(this, o);
}
;
_.contains = function contains_2(o){
  return this.map.containsKey(o);
}
;
_.getClass$ = function getClass_404(){
  return Ljava_util_HashSet_2_classLit;
}
;
_.isEmpty = function isEmpty_2(){
  return this.map.size_0() == 0;
}
;
_.iterator = function iterator_6(){
  return $iterator($keySet(this.map));
}
;
_.remove_0 = function remove_16(o){
  return $remove_7(this, o);
}
;
_.size_0 = function size_2(){
  return this.map.size_0();
}
;
_.toString$ = function toString_16(){
  return $toString_0($keySet(this.map));
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$Set]);
_.map = null;
function Relation_0(){
  HashSet_0.call(this);
  this.schema = new Schema_0;
}

function Relation(){
}

_ = Relation_0.prototype = Relation.prototype = new HashSet;
_.getClass$ = function getClass_405(){
  return Ledu_upenn_cis_cis550_hw3_shared_Relation_2_classLit;
}
;
_.toString$ = function toString_17(){
  var sb, t, t$iterator;
  sb = new StringBuilder_0;
  for (t$iterator = $iterator($keySet(this.map)); t$iterator.val$outerIter.hasNext();) {
    t = dynamicCast($next_2(t$iterator), Q$Tuple);
    $append_9(sb, $toString_2(t) + '\n');
  }
  return sb.impl.string;
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$Relation, Q$Serializable, Q$Collection, Q$Set]);
_.schema = null;
function deserialize_153(streamReader, instance){
  $getString(streamReader, $readInt(streamReader));
  instance.schema = dynamicCast($readObject(streamReader), Q$Schema);
  deserialize_93(streamReader, instance);
}

function instantiate_150(streamReader){
  return new Relation_0;
}

function $getTable(this$static){
  var columns, i, relList, theTable;
  relList = new ArrayList_0;
  columns = new ArrayList_0;
  for (i = 0; i < this$static.names.size_0(); ++i) {
    $add_1(columns, new Schema$2_0(i));
  }
  theTable = new PagedTable_0(relList, new Schema$1_0(this$static), this$static.names, columns);
  return theTable;
}

function $toString_1(this$static){
  var first, i, sb;
  sb = new StringBuilder_2('(');
  first = true;
  for (i = 0; i < this$static.names.size_0(); ++i) {
    first?(first = false):(sb.impl.string += ',' , sb);
    $append_9(sb, dynamicCast(this$static.names.get(i), Q$String));
    this$static.keys.contains(valueOf_1(i)) && (sb.impl.string += '*' , sb);
    sb.impl.string += ':';
    $append_9(sb, dynamicCast(this$static.types.get(i), Q$Attribute$Type).name_0);
  }
  sb.impl.string += ')';
  return sb.impl.string;
}

function Schema_0(){
  this.names = new ArrayList_0;
  this.types = new ArrayList_0;
  this.keys = new ArrayList_0;
}

function Schema(){
}

_ = Schema_0.prototype = Schema.prototype = new Object_0;
_.getClass$ = function getClass_406(){
  return Ledu_upenn_cis_cis550_hw3_shared_Schema_2_classLit;
}
;
_.toString$ = function toString_18(){
  return $toString_1(this);
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$Schema]);
_.keys = null;
_.names = null;
_.types = null;
function $getKey_0(this$static, item){
  var first, i, key, key$iterator, sb;
  if (!item)
    return null;
  else if (this$static.this$0.keys.isEmpty()) {
    sb = new StringBuilder_0;
    first = true;
    for (i = 0; i < this$static.this$0.names.size_0(); ++i) {
      first?(first = false):(sb.impl.string += '|' , sb);
      $append_8(sb, dynamicCast(item.values.get(i), Q$Attribute));
    }
    return sb.impl.string;
  }
   else {
    sb = new StringBuilder_0;
    first = true;
    for (key$iterator = this$static.this$0.keys.iterator(); key$iterator.hasNext();) {
      key = dynamicCast(key$iterator.next_0(), Q$Integer);
      first?(first = false):(sb.impl.string += '|' , sb);
      $append_8(sb, $getValue_0(item, key.value));
    }
    return sb.impl.string;
  }
}

function Schema$1_0(this$0){
  this.this$0 = this$0;
}

function Schema$1(){
}

_ = Schema$1_0.prototype = Schema$1.prototype = new Object_0;
_.getClass$ = function getClass_407(){
  return Ledu_upenn_cis_cis550_hw3_shared_Schema$1_2_classLit;
}
;
_.this$0 = null;
function $getValue(this$static, object){
  return $getValue_0(object, this$static.val$j).value.toString$();
}

function Schema$2_0(val$j){
  this.val$j = val$j;
  Column_0.call(this, new TextCell_0);
}

function Schema$2(){
}

_ = Schema$2_0.prototype = Schema$2.prototype = new TextColumn;
_.getClass$ = function getClass_408(){
  return Ledu_upenn_cis_cis550_hw3_shared_Schema$2_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Column]);
_.val$j = 0;
function deserialize_154(streamReader, instance){
  instance.keys = dynamicCast($readObject(streamReader), Q$List);
  instance.names = dynamicCast($readObject(streamReader), Q$List);
  instance.types = dynamicCast($readObject(streamReader), Q$List);
}

function instantiate_151(streamReader){
  return new Schema_0;
}

function $getValue_0(this$static, inx){
  return dynamicCast(this$static.values.get(inx), Q$Attribute);
}

function $toString_2(this$static){
  var a, a$iterator, first, sb;
  sb = new StringBuilder_2('(');
  first = true;
  for (a$iterator = this$static.values.iterator(); a$iterator.hasNext();) {
    a = dynamicCast(a$iterator.next_0(), Q$Attribute);
    first?(first = false):(sb.impl.string += ',' , sb);
    $append_9(sb, a.value.toString$());
  }
  sb.impl.string += ')';
  return sb.impl.string;
}

function Tuple_0(){
}

function Tuple(){
}

_ = Tuple_0.prototype = Tuple.prototype = new Object_0;
_.getClass$ = function getClass_409(){
  return Ledu_upenn_cis_cis550_hw3_shared_Tuple_2_classLit;
}
;
_.toString$ = function toString_19(){
  return $toString_2(this);
}
;
_.castableTypeMap$ = makeCastMap([Q$IsSerializable, Q$Tuple]);
_.values = null;
function deserialize_155(streamReader, instance){
  dynamicCast($readObject(streamReader), Q$Schema);
  instance.values = dynamicCast($readObject(streamReader), Q$List);
}

function instantiate_152(streamReader){
  return new Tuple_0;
}

function IOException_0(){
  $fillInStackTrace();
}

function IOException(){
}

_ = IOException_0.prototype = IOException.prototype = new Exception;
_.getClass$ = function getClass_410(){
  return Ljava_io_IOException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function UnsupportedEncodingException_0(){
  $fillInStackTrace();
}

function UnsupportedEncodingException(){
}

_ = UnsupportedEncodingException_0.prototype = UnsupportedEncodingException.prototype = new IOException;
_.getClass$ = function getClass_411(){
  return Ljava_io_UnsupportedEncodingException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function ArithmeticException_0(explanation){
  RuntimeException_1.call(this, explanation);
}

function ArithmeticException_1(){
  $fillInStackTrace();
}

function ArithmeticException(){
}

_ = ArithmeticException_1.prototype = ArithmeticException_0.prototype = ArithmeticException.prototype = new RuntimeException;
_.getClass$ = function getClass_412(){
  return Ljava_lang_ArithmeticException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function IndexOutOfBoundsException_0(){
  $fillInStackTrace();
}

function IndexOutOfBoundsException_1(message){
  RuntimeException_1.call(this, message);
}

function IndexOutOfBoundsException(){
}

_ = IndexOutOfBoundsException_1.prototype = IndexOutOfBoundsException_0.prototype = IndexOutOfBoundsException.prototype = new RuntimeException;
_.getClass$ = function getClass_413(){
  return Ljava_lang_IndexOutOfBoundsException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$IndexOutOfBoundsException, Q$RuntimeException, Q$Throwable]);
function ArrayIndexOutOfBoundsException_0(){
  $fillInStackTrace();
}

function ArrayIndexOutOfBoundsException(){
}

_ = ArrayIndexOutOfBoundsException_0.prototype = ArrayIndexOutOfBoundsException.prototype = new IndexOutOfBoundsException;
_.getClass$ = function getClass_414(){
  return Ljava_lang_ArrayIndexOutOfBoundsException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$IndexOutOfBoundsException, Q$RuntimeException, Q$Throwable]);
function ArrayStoreException_0(){
  $fillInStackTrace();
}

function ArrayStoreException_1(message){
  RuntimeException_1.call(this, message);
}

function ArrayStoreException(){
}

_ = ArrayStoreException_1.prototype = ArrayStoreException_0.prototype = ArrayStoreException.prototype = new RuntimeException;
_.getClass$ = function getClass_415(){
  return Ljava_lang_ArrayStoreException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function Error_1(){
  $fillInStackTrace();
}

function Error_0(){
}

_ = Error_1.prototype = Error_0.prototype = new Throwable;
_.getClass$ = function getClass_416(){
  return Ljava_lang_Error_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function AssertionError_0(){
  $fillInStackTrace();
}

function AssertionError(){
}

_ = AssertionError_0.prototype = AssertionError.prototype = new Error_0;
_.getClass$ = function getClass_417(){
  return Ljava_lang_AssertionError_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function $clinit_Boolean(){
  $clinit_Boolean = nullMethod;
  FALSE = new Boolean_1(false);
  TRUE = new Boolean_1(true);
}

function $compareTo_1(this$static, other){
  return this$static.value == other.value?0:this$static.value?1:-1;
}

function Boolean_1(value){
  this.value = value;
}

function Boolean_0(){
}

_ = Boolean_1.prototype = Boolean_0.prototype = new Object_0;
_.compareTo$ = function compareTo_3(other){
  return $compareTo_1(this, dynamicCast(other, Q$Boolean));
}
;
_.equals$ = function equals_15(o){
  return instanceOf(o, Q$Boolean) && dynamicCast(o, Q$Boolean).value == this.value;
}
;
_.getClass$ = function getClass_418(){
  return Ljava_lang_Boolean_2_classLit;
}
;
_.hashCode$ = function hashCode_17(){
  return this.value?1231:1237;
}
;
_.toString$ = function toString_20(){
  return this.value?'true':'false';
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Boolean, Q$Comparable]);
_.value = false;
var FALSE, TRUE;
function __parseAndValidateDouble(s){
  var toReturn;
  toReturn = __parseDouble(s);
  if (isNaN(toReturn)) {
    throw new NumberFormatException_1('For input string: "' + s + '"');
  }
  return toReturn;
}

function __parseAndValidateInt(s){
  var i, length_0, startIndex, toReturn;
  if (s == null) {
    throw new NumberFormatException_1('null');
  }
  length_0 = s.length;
  startIndex = length_0 > 0 && s.charCodeAt(0) == 45?1:0;
  for (i = startIndex; i < length_0; ++i) {
    if (digit_0(s.charCodeAt(i)) == -1) {
      throw new NumberFormatException_1('For input string: "' + s + '"');
    }
  }
  toReturn = parseInt(s, 10);
  if (isNaN(toReturn)) {
    throw new NumberFormatException_1('For input string: "' + s + '"');
  }
   else if (toReturn < -2147483648 || toReturn > 2147483647) {
    throw new NumberFormatException_1('For input string: "' + s + '"');
  }
  return toReturn;
}

function __parseDouble(str){
  var floatRegex = floatRegex_0;
  !floatRegex && (floatRegex = floatRegex_0 = /^\s*[+-]?((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?\s*$/i);
  if (floatRegex.test(str)) {
    return parseFloat(str);
  }
   else {
    return Number.NaN;
  }
}

function Number_0(){
}

_ = Number_0.prototype = new Object_0;
_.getClass$ = function getClass_419(){
  return Ljava_lang_Number_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Number]);
var floatRegex_0 = null;
function $compareTo_2(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Byte_0(value){
  this.value = value;
}

function valueOf(b){
  var rebase, result;
  rebase = b + 128;
  result = ($clinit_Byte$BoxedValues() , boxedValues_0)[rebase];
  !result && (result = boxedValues_0[rebase] = new Byte_0(b));
  return result;
}

function Byte(){
}

_ = Byte_0.prototype = Byte.prototype = new Number_0;
_.compareTo$ = function compareTo_4(b){
  return $compareTo_2(this, dynamicCast(b, Q$Byte));
}
;
_.equals$ = function equals_16(o){
  return instanceOf(o, Q$Byte) && dynamicCast(o, Q$Byte).value == this.value;
}
;
_.getClass$ = function getClass_420(){
  return Ljava_lang_Byte_2_classLit;
}
;
_.hashCode$ = function hashCode_18(){
  return this.value;
}
;
_.toString$ = function toString_21(){
  return '' + this.value;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Byte, Q$Comparable, Q$Number]);
_.value = 0;
function $clinit_Byte$BoxedValues(){
  $clinit_Byte$BoxedValues = nullMethod;
  boxedValues_0 = initDim(_3Ljava_lang_Byte_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Byte, 256, 0);
}

var boxedValues_0;
function $compareTo_3(this$static, c){
  return this$static.value - c.value;
}

function Character_0(value){
  this.value = value;
}

function digit_0(c){
  if (c >= 48 && c < 58) {
    return c - 48;
  }
  if (c >= 97 && c < 97) {
    return c - 97 + 10;
  }
  if (c >= 65 && c < 65) {
    return c - 65 + 10;
  }
  return -1;
}

function valueOf_0(c){
  var result;
  if (c < 128) {
    result = ($clinit_Character$BoxedValues() , boxedValues_1)[c];
    !result && (result = boxedValues_1[c] = new Character_0(c));
    return result;
  }
  return new Character_0(c);
}

function Character(){
}

_ = Character_0.prototype = Character.prototype = new Object_0;
_.compareTo$ = function compareTo_5(c){
  return $compareTo_3(this, dynamicCast(c, Q$Character));
}
;
_.equals$ = function equals_17(o){
  return instanceOf(o, Q$Character) && dynamicCast(o, Q$Character).value == this.value;
}
;
_.getClass$ = function getClass_421(){
  return Ljava_lang_Character_2_classLit;
}
;
_.hashCode$ = function hashCode_19(){
  return this.value;
}
;
_.toString$ = function toString_22(){
  return valueOf_4(this.value);
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Character, Q$Comparable]);
_.value = 0;
function $clinit_Character$BoxedValues(){
  $clinit_Character$BoxedValues = nullMethod;
  boxedValues_1 = initDim(_3Ljava_lang_Character_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Character, 128, 0);
}

var boxedValues_1;
function Class_0(){
}

function createForArray(packageName, className, componentType){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  clazz.modifiers = 4;
  clazz.componentType = componentType;
  return clazz;
}

function createForClass(packageName, className){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  return clazz;
}

function createForEnum(packageName, className, enumConstantsFunc){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  clazz.modifiers = enumConstantsFunc?8:0;
  return clazz;
}

function createForInterface(packageName, className){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  clazz.modifiers = 2;
  return clazz;
}

function createForPrimitive(className){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = '' + className;
  clazz.modifiers = 1;
  return clazz;
}

function Class(){
}

_ = Class_0.prototype = Class.prototype = new Object_0;
_.getClass$ = function getClass_422(){
  return Ljava_lang_Class_2_classLit;
}
;
_.toString$ = function toString_23(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}
;
_.componentType = null;
_.modifiers = 0;
_.typeName = null;
function ClassCastException_0(){
  $fillInStackTrace();
}

function ClassCastException(){
}

_ = ClassCastException_0.prototype = ClassCastException.prototype = new RuntimeException;
_.getClass$ = function getClass_423(){
  return Ljava_lang_ClassCastException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function $compareTo_4(this$static, b){
  return compare_0(this$static.value, b.value);
}

function Double_0(value){
  this.value = value;
}

function compare_0(x, y){
  if (isNaN(x)) {
    return isNaN(y)?0:1;
  }
   else if (isNaN(y)) {
    return -1;
  }
  return x < y?-1:x > y?1:0;
}

function isNaN_0(x){
  return isNaN(x);
}

function Double(){
}

_ = Double_0.prototype = Double.prototype = new Number_0;
_.compareTo$ = function compareTo_6(b){
  return $compareTo_4(this, dynamicCast(b, Q$Double));
}
;
_.equals$ = function equals_18(o){
  return instanceOf(o, Q$Double) && dynamicCast(o, Q$Double).value == this.value;
}
;
_.getClass$ = function getClass_424(){
  return Ljava_lang_Double_2_classLit;
}
;
_.hashCode$ = function hashCode_20(){
  return round_int(this.value);
}
;
_.toString$ = function toString_24(){
  return '' + this.value;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Double, Q$Number]);
_.value = 0;
function $compareTo_5(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Float_0(value){
  this.value = value;
}

function Float(){
}

_ = Float_0.prototype = Float.prototype = new Number_0;
_.compareTo$ = function compareTo_7(b){
  return $compareTo_5(this, dynamicCast(b, Q$Float));
}
;
_.equals$ = function equals_19(o){
  return instanceOf(o, Q$Float) && dynamicCast(o, Q$Float).value == this.value;
}
;
_.getClass$ = function getClass_425(){
  return Ljava_lang_Float_2_classLit;
}
;
_.hashCode$ = function hashCode_21(){
  return round_int(this.value);
}
;
_.toString$ = function toString_25(){
  return '' + this.value;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Float, Q$Number]);
_.value = 0;
function IllegalArgumentException_0(){
  $fillInStackTrace();
}

function IllegalArgumentException_1(message){
  RuntimeException_1.call(this, message);
}

function IllegalArgumentException(){
}

_ = IllegalArgumentException_1.prototype = IllegalArgumentException_0.prototype = IllegalArgumentException.prototype = new RuntimeException;
_.getClass$ = function getClass_426(){
  return Ljava_lang_IllegalArgumentException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function IllegalStateException_0(){
  $fillInStackTrace();
}

function IllegalStateException_1(s){
  RuntimeException_1.call(this, s);
}

function IllegalStateException(){
}

_ = IllegalStateException_1.prototype = IllegalStateException_0.prototype = IllegalStateException.prototype = new RuntimeException;
_.getClass$ = function getClass_427(){
  return Ljava_lang_IllegalStateException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function $compareTo_6(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Integer_0(value){
  this.value = value;
}

function numberOfLeadingZeros_0(i){
  var m_0, n, y;
  if (i < 0) {
    return 0;
  }
   else if (i == 0) {
    return 32;
  }
   else {
    y = -(~~i >> 16);
    m_0 = ~~y >> 16 & 16;
    n = 16 - m_0;
    i = ~~i >> m_0;
    y = i - 256;
    m_0 = ~~y >> 16 & 8;
    n += m_0;
    i <<= m_0;
    y = i - 4096;
    m_0 = ~~y >> 16 & 4;
    n += m_0;
    i <<= m_0;
    y = i - 16384;
    m_0 = ~~y >> 16 & 2;
    n += m_0;
    i <<= m_0;
    y = ~~i >> 14;
    m_0 = y & ~(~~y >> 1);
    return n + 2 - m_0;
  }
}

function numberOfTrailingZeros(i){
  var r, rtn;
  if (i == 0) {
    return 32;
  }
   else {
    rtn = 0;
    for (r = 1; (r & i) == 0; r <<= 1) {
      ++rtn;
    }
    return rtn;
  }
}

function toPowerOfTwoString(value){
  var buf, digits, pos;
  buf = initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, 8, 1);
  digits = ($clinit_Number$__Digits() , digits_0);
  pos = 7;
  if (value >= 0) {
    while (value > 15) {
      buf[pos--] = digits[value & 15];
      value >>= 4;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = digits[value & 15];
      value >>= 4;
    }
  }
  buf[pos] = digits[value & 15];
  return __valueOf(buf, pos, 8);
}

function valueOf_1(i){
  var rebase, result;
  if (i > -129 && i < 128) {
    rebase = i + 128;
    result = ($clinit_Integer$BoxedValues() , boxedValues_2)[rebase];
    !result && (result = boxedValues_2[rebase] = new Integer_0(i));
    return result;
  }
  return new Integer_0(i);
}

function Integer(){
}

_ = Integer_0.prototype = Integer.prototype = new Number_0;
_.compareTo$ = function compareTo_8(b){
  return $compareTo_6(this, dynamicCast(b, Q$Integer));
}
;
_.equals$ = function equals_20(o){
  return instanceOf(o, Q$Integer) && dynamicCast(o, Q$Integer).value == this.value;
}
;
_.getClass$ = function getClass_428(){
  return Ljava_lang_Integer_2_classLit;
}
;
_.hashCode$ = function hashCode_22(){
  return this.value;
}
;
_.toString$ = function toString_26(){
  return '' + this.value;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Integer, Q$Number]);
_.value = 0;
function $clinit_Integer$BoxedValues(){
  $clinit_Integer$BoxedValues = nullMethod;
  boxedValues_2 = initDim(_3Ljava_lang_Integer_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Integer, 256, 0);
}

var boxedValues_2;
function $compareTo_7(this$static, b){
  return lt(this$static.value, b.value)?-1:gt(this$static.value, b.value)?1:0;
}

function Long_0(value){
  this.value = value;
}

function signum(i){
  return eq(i, P0_longLit)?0:lt(i, P0_longLit)?-1:1;
}

function valueOf_2(i){
  var rebase, result;
  if (gt(i, N81_longLit) && lt(i, P80_longLit)) {
    rebase = toInt(i) + 128;
    result = ($clinit_Long$BoxedValues() , boxedValues_3)[rebase];
    !result && (result = boxedValues_3[rebase] = new Long_0(i));
    return result;
  }
  return new Long_0(i);
}

function Long(){
}

_ = Long_0.prototype = Long.prototype = new Number_0;
_.compareTo$ = function compareTo_9(b){
  return $compareTo_7(this, dynamicCast(b, Q$Long));
}
;
_.equals$ = function equals_21(o){
  return instanceOf(o, Q$Long) && eq(dynamicCast(o, Q$Long).value, this.value);
}
;
_.getClass$ = function getClass_429(){
  return Ljava_lang_Long_2_classLit;
}
;
_.hashCode$ = function hashCode_23(){
  return toInt(this.value);
}
;
_.toString$ = function toString_27(){
  return '' + toString_7(this.value);
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Long, Q$Number]);
_.value = P0_longLit;
function $clinit_Long$BoxedValues(){
  $clinit_Long$BoxedValues = nullMethod;
  boxedValues_3 = initDim(_3Ljava_lang_Long_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Long, 256, 0);
}

var boxedValues_3;
function abs(x){
  return x <= 0?0 - x:x;
}

function floor(x){
  return Math.floor(x);
}

function max(x, y){
  return x > y?x:y;
}

function min(x, y){
  return x < y?x:y;
}

function NegativeArraySizeException_0(){
  $fillInStackTrace();
}

function NegativeArraySizeException(){
}

_ = NegativeArraySizeException_0.prototype = NegativeArraySizeException.prototype = new RuntimeException;
_.getClass$ = function getClass_430(){
  return Ljava_lang_NegativeArraySizeException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function NullPointerException_0(){
  $fillInStackTrace();
}

function NullPointerException_1(message){
  RuntimeException_1.call(this, message);
}

function NullPointerException(){
}

_ = NullPointerException_1.prototype = NullPointerException_0.prototype = NullPointerException.prototype = new RuntimeException;
_.getClass$ = function getClass_431(){
  return Ljava_lang_NullPointerException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
--></script>
<script><!--
function $clinit_Number$__Digits(){
  $clinit_Number$__Digits = nullMethod;
  digits_0 = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits_0;
function NumberFormatException_0(){
  $fillInStackTrace();
}

function NumberFormatException_1(message){
  IllegalArgumentException_1.call(this, message);
}

function NumberFormatException(){
}

_ = NumberFormatException_1.prototype = NumberFormatException_0.prototype = NumberFormatException.prototype = new IllegalArgumentException;
_.getClass$ = function getClass_432(){
  return Ljava_lang_NumberFormatException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function $compareTo_8(this$static, b){
  return this$static.value < b.value?-1:this$static.value > b.value?1:0;
}

function Short_0(value){
  this.value = value;
}

function valueOf_3(s){
  var rebase, result;
  if (s > -129 && s < 128) {
    rebase = s + 128;
    result = ($clinit_Short$BoxedValues() , boxedValues_4)[rebase];
    !result && (result = boxedValues_4[rebase] = new Short_0(s));
    return result;
  }
  return new Short_0(s);
}

function Short(){
}

_ = Short_0.prototype = Short.prototype = new Number_0;
_.compareTo$ = function compareTo_10(b){
  return $compareTo_8(this, dynamicCast(b, Q$Short));
}
;
_.equals$ = function equals_22(o){
  return instanceOf(o, Q$Short) && dynamicCast(o, Q$Short).value == this.value;
}
;
_.getClass$ = function getClass_433(){
  return Ljava_lang_Short_2_classLit;
}
;
_.hashCode$ = function hashCode_24(){
  return this.value;
}
;
_.toString$ = function toString_28(){
  return '' + this.value;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Number, Q$Short]);
_.value = 0;
function $clinit_Short$BoxedValues(){
  $clinit_Short$BoxedValues = nullMethod;
  boxedValues_4 = initDim(_3Ljava_lang_Short_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Short, 256, 0);
}

var boxedValues_4;
function StackTraceElement_0(className, methodName, fileName, lineNumber){
  this.className_0 = className;
  this.methodName = methodName;
  this.fileName = fileName;
  this.lineNumber = lineNumber;
}

function StackTraceElement(){
}

_ = StackTraceElement_0.prototype = StackTraceElement.prototype = new Object_0;
_.getClass$ = function getClass_434(){
  return Ljava_lang_StackTraceElement_2_classLit;
}
;
_.toString$ = function toString_29(){
  return this.className_0 + '.' + this.methodName + '(' + (this.fileName != null?this.fileName:'Unknown Source') + (this.lineNumber >= 0?':' + this.lineNumber:'') + ')';
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$StackTraceElement]);
_.className_0 = null;
_.fileName = null;
_.lineNumber = 0;
_.methodName = null;
function $charAt(this$static, index){
  return this$static.charCodeAt(index);
}

function $equals_1(this$static, other){
  if (!instanceOf(other, Q$String)) {
    return false;
  }
  return String(this$static) == other;
}

function $equalsIgnoreCase(this$static, other){
  if (other == null)
    return false;
  return this$static == other || this$static.toLowerCase() == other.toLowerCase();
}

function $indexOf_2(this$static, str){
  return this$static.indexOf(str);
}

function $substring(this$static, beginIndex){
  return this$static.substr(beginIndex, this$static.length - beginIndex);
}

function $substring_0(this$static, beginIndex, endIndex){
  return this$static.substr(beginIndex, endIndex - beginIndex);
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __checkBounds(legalCount, start, end){
  if (start < 0) {
    throw new StringIndexOutOfBoundsException_1(start);
  }
  if (end < start) {
    throw new StringIndexOutOfBoundsException_1(end - start);
  }
  if (end > legalCount) {
    throw new StringIndexOutOfBoundsException_1(end);
  }
}

function __valueOf(x, start, end){
  x = x.slice(start, end);
  return String.fromCharCode.apply(null, x);
}

function compareTo_11(thisStr, otherStr){
  thisStr = String(thisStr);
  if (thisStr == otherStr) {
    return 0;
  }
  return thisStr < otherStr?-1:1;
}

function valueOf_4(x){
  return String.fromCharCode(x);
}

function valueOf_5(x, offset, count){
  var end;
  end = offset + count;
  __checkBounds(x.length, offset, end);
  return __valueOf(x, offset, end);
}

_ = String.prototype;
_.compareTo$ = function compareTo_12(other){
  return compareTo_11(this, dynamicCast(other, Q$String));
}
;
_.equals$ = function equals_23(other){
  return $equals_1(this, other);
}
;
_.getClass$ = function getClass_435(){
  return Ljava_lang_String_2_classLit;
}
;
_.hashCode$ = function hashCode_25(){
  return getHashCode_0(this);
}
;
_.toString$ = function toString_30(){
  return this;
}
;
_.castableTypeMap$ = makeCastMap([Q$String, Q$Serializable, Q$CharSequence, Q$Comparable]);
function $clinit_String$HashCache(){
  $clinit_String$HashCache = nullMethod;
  back_0 = {};
  front = {};
}

function compute(str){
  var hashCode, i, n, nBatch;
  hashCode = 0;
  n = str.length;
  nBatch = n - 4;
  i = 0;
  while (i < nBatch) {
    hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))) | 0;
    i += 4;
  }
  while (i < n) {
    hashCode = hashCode * 31 + $charAt(str, i++);
  }
  return hashCode | 0;
}

function getHashCode_0(str){
  $clinit_String$HashCache();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back_0[key];
  result == null && (result = compute(str));
  increment();
  return front[key] = result;
}

function increment(){
  if (count_0 == 256) {
    back_0 = front;
    front = {};
    count_0 = 0;
  }
  ++count_0;
}

var back_0, count_0 = 0, front;
function $$init(this$static){
  this$static.impl = new StringBufferImplAppend_0;
}

function $append_3(this$static, x){
  $append_1(this$static.impl, x);
  return this$static;
}

function $replace_1(this$static, start, toInsert){
  $replace(this$static.impl, start, 9, toInsert);
  return this$static;
}

function StringBuffer_0(){
  $$init(this);
}

function StringBuffer_1(){
  $$init(this);
  this.impl.string += '000000000';
}

function StringBuffer(){
}

_ = StringBuffer_1.prototype = StringBuffer_0.prototype = StringBuffer.prototype = new Object_0;
_.getClass$ = function getClass_436(){
  return Ljava_lang_StringBuffer_2_classLit;
}
;
_.toString$ = function toString_31(){
  return this.impl.string;
}
;
_.castableTypeMap$ = makeCastMap([Q$CharSequence]);
function $$init_0(this$static){
  this$static.impl = new StringBufferImplAppend_0;
}

function $append_4(this$static, x){
  $appendNonNull(this$static.impl, String.fromCharCode(x));
  return this$static;
}

function $append_5(this$static, x){
  $appendNonNull(this$static.impl, String.fromCharCode.apply(null, x));
  return this$static;
}

function $append_6(this$static, x, start, end){
  x == null && (x = 'null');
  $append_0(this$static.impl, x.substr(start, end - start));
  return this$static;
}

function $append_7(this$static, x){
  $append(this$static.impl, x);
  return this$static;
}

function $append_8(this$static, x){
  $append_0(this$static.impl, x);
  return this$static;
}

function $append_9(this$static, x){
  $append_1(this$static.impl, x);
  return this$static;
}

function $insert_0(this$static, index, x){
  return $replace(this$static.impl, index, index, x) , this$static;
}

function StringBuilder_0(){
  $$init_0(this);
}

function StringBuilder_1(){
  $$init_0(this);
}

function StringBuilder_2(s){
  $$init_0(this);
  $append_1(this.impl, s);
}

function StringBuilder(){
}

_ = StringBuilder_2.prototype = StringBuilder_1.prototype = StringBuilder_0.prototype = StringBuilder.prototype = new Object_0;
_.getClass$ = function getClass_437(){
  return Ljava_lang_StringBuilder_2_classLit;
}
;
_.toString$ = function toString_32(){
  return this.impl.string;
}
;
_.castableTypeMap$ = makeCastMap([Q$CharSequence]);
function StringIndexOutOfBoundsException_0(){
  $fillInStackTrace();
}

function StringIndexOutOfBoundsException_1(index){
  Throwable_1.call(this, 'String index out of range: ' + index);
}

function StringIndexOutOfBoundsException(){
}

_ = StringIndexOutOfBoundsException_1.prototype = StringIndexOutOfBoundsException_0.prototype = StringIndexOutOfBoundsException.prototype = new IndexOutOfBoundsException;
_.getClass$ = function getClass_438(){
  return Ljava_lang_StringIndexOutOfBoundsException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$IndexOutOfBoundsException, Q$RuntimeException, Q$Throwable]);
function arraycopy(src, srcOfs, dest, destOfs, len){
  var destArray, destComp, destEnd, destType, destlen, srcArray, srcComp, srcType, srclen;
  if (src == null || dest == null) {
    throw new NullPointerException_0;
  }
  srcType = src.getClass$();
  destType = dest.getClass$();
  if ((srcType.modifiers & 4) == 0 || (destType.modifiers & 4) == 0) {
    throw new ArrayStoreException_1('Must be array types');
  }
  srcComp = srcType.componentType;
  destComp = destType.componentType;
  if (!((srcComp.modifiers & 1) != 0?srcComp == destComp:(destComp.modifiers & 1) == 0)) {
    throw new ArrayStoreException_1('Array types must match');
  }
  srclen = src.length;
  destlen = dest.length;
  if (srcOfs < 0 || destOfs < 0 || len < 0 || srcOfs + len > srclen || destOfs + len > destlen) {
    throw new IndexOutOfBoundsException_0;
  }
  if (((srcComp.modifiers & 1) == 0 || (srcComp.modifiers & 4) != 0) && srcType != destType) {
    srcArray = dynamicCast(src, Q$Object_$1);
    destArray = dynamicCast(dest, Q$Object_$1);
    if (src === dest && srcOfs < destOfs) {
      srcOfs += len;
      for (destEnd = destOfs + len; destEnd-- > destOfs;) {
        setCheck(destArray, destEnd, srcArray[--srcOfs]);
      }
    }
     else {
      for (destEnd = destOfs + len; destOfs < destEnd;) {
        setCheck(destArray, destOfs++, srcArray[srcOfs++]);
      }
    }
  }
   else {
    Array.prototype.splice.apply(dest, [destOfs, len].concat(src.slice(srcOfs, srcOfs + len)));
  }
}

function identityHashCode(o){
  return o == null?0:instanceOf(o, Q$String)?getHashCode_0(dynamicCast(o, Q$String)):getHashCode(o);
}

function UnsupportedOperationException_0(){
  $fillInStackTrace();
}

function UnsupportedOperationException_1(message){
  RuntimeException_1.call(this, message);
}

function UnsupportedOperationException(){
}

_ = UnsupportedOperationException_1.prototype = UnsupportedOperationException_0.prototype = UnsupportedOperationException.prototype = new RuntimeException;
_.getClass$ = function getClass_439(){
  return Ljava_lang_UnsupportedOperationException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function AnnotationFormatError_0(){
  $fillInStackTrace();
}

function AnnotationFormatError(){
}

_ = AnnotationFormatError_0.prototype = AnnotationFormatError.prototype = new Error_0;
_.getClass$ = function getClass_440(){
  return Ljava_lang_annotation_AnnotationFormatError_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function AnnotationTypeMismatchException_0(){
  $fillInStackTrace();
}

function AnnotationTypeMismatchException(){
}

_ = AnnotationTypeMismatchException_0.prototype = AnnotationTypeMismatchException.prototype = new RuntimeException;
_.getClass$ = function getClass_441(){
  return Ljava_lang_annotation_AnnotationTypeMismatchException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function $clinit_ElementType(){
  $clinit_ElementType = nullMethod;
  ANNOTATION_TYPE = new ElementType_0('ANNOTATION_TYPE', 0);
  CONSTRUCTOR = new ElementType_0('CONSTRUCTOR', 1);
  FIELD = new ElementType_0('FIELD', 2);
  LOCAL_VARIABLE = new ElementType_0('LOCAL_VARIABLE', 3);
  METHOD = new ElementType_0('METHOD', 4);
  PACKAGE = new ElementType_0('PACKAGE', 5);
  PARAMETER = new ElementType_0('PARAMETER', 6);
  TYPE_22 = new ElementType_0('TYPE', 7);
  $VALUES_36 = initValues(_3Ljava_lang_annotation_ElementType_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$ElementType, [ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE_22]);
}

function ElementType_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_37(){
  $clinit_ElementType();
  return $VALUES_36;
}

function ElementType(){
}

_ = ElementType_0.prototype = ElementType.prototype = new Enum;
_.getClass$ = function getClass_442(){
  return Ljava_lang_annotation_ElementType_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$ElementType]);
var $VALUES_36, ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE_22;
function $clinit_RetentionPolicy(){
  $clinit_RetentionPolicy = nullMethod;
  CLASS = new RetentionPolicy_0('CLASS', 0);
  RUNTIME = new RetentionPolicy_0('RUNTIME', 1);
  SOURCE = new RetentionPolicy_0('SOURCE', 2);
  $VALUES_37 = initValues(_3Ljava_lang_annotation_RetentionPolicy_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$RetentionPolicy, [CLASS, RUNTIME, SOURCE]);
}

function RetentionPolicy_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_38(){
  $clinit_RetentionPolicy();
  return $VALUES_37;
}

function RetentionPolicy(){
}

_ = RetentionPolicy_0.prototype = RetentionPolicy.prototype = new Enum;
_.getClass$ = function getClass_443(){
  return Ljava_lang_annotation_RetentionPolicy_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$RetentionPolicy]);
var $VALUES_37, CLASS, RUNTIME, SOURCE;
function $clinit_BigDecimal(){
  $clinit_BigDecimal = nullMethod;
  var i, j;
  new BigDecimal_1(P1_longLit, 0);
  new BigDecimal_1(Pa_longLit, 0);
  new BigDecimal_1(P0_longLit, 0);
  BI_SCALED_BY_ZERO = initDim(_3Ljava_math_BigDecimal_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$BigDecimal, 11, 0);
  CH_ZEROS = initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, 100, 1);
  DOUBLE_FIVE_POW = initValues(_3D_classLit, makeCastMap([Q$Serializable]), -1, [1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125, 6103515625, 30517578125, 152587890625, 762939453125, 3814697265625, 19073486328125, 95367431640625, 476837158203125, 2384185791015625]);
  DOUBLE_FIVE_POW_BIT_LENGTH = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, DOUBLE_FIVE_POW.length, 1);
  DOUBLE_TEN_POW = initValues(_3D_classLit, makeCastMap([Q$Serializable]), -1, [1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, 1000000000000000, 10000000000000000]);
  DOUBLE_TEN_POW_BIT_LENGTH = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, DOUBLE_TEN_POW.length, 1);
  ZERO_SCALED_BY = initDim(_3Ljava_math_BigDecimal_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$BigDecimal, 11, 0);
  i = 0;
  for (; i < ZERO_SCALED_BY.length; ++i) {
    BI_SCALED_BY_ZERO[i] = new BigDecimal_1(fromInt(i), 0);
    ZERO_SCALED_BY[i] = new BigDecimal_1(P0_longLit, i);
    CH_ZEROS[i] = 48;
  }
  for (; i < CH_ZEROS.length; ++i) {
    CH_ZEROS[i] = 48;
  }
  for (j = 0; j < DOUBLE_FIVE_POW_BIT_LENGTH.length; ++j) {
    DOUBLE_FIVE_POW_BIT_LENGTH[j] = bitLength(DOUBLE_FIVE_POW[j]);
  }
  for (j = 0; j < DOUBLE_TEN_POW_BIT_LENGTH.length; ++j) {
    DOUBLE_TEN_POW_BIT_LENGTH[j] = bitLength(DOUBLE_TEN_POW[j]);
  }
  $clinit_Multiplication();
}

function $compareTo_9(this$static, val){
  var diffPrecision, diffScale, thisSign, thisUnscaled, valUnscaled, valueSign;
  thisSign = $signum(this$static);
  valueSign = $signum(val);
  if (thisSign == valueSign) {
    if (this$static.scale == val.scale && this$static.bitLength < 54 && val.bitLength < 54) {
      return this$static.smallValue < val.smallValue?-1:this$static.smallValue > val.smallValue?1:0;
    }
    diffScale = this$static.scale - val.scale;
    diffPrecision = (this$static.precision > 0?this$static.precision:floor((this$static.bitLength - 1) * 0.3010299956639812) + 1) - (val.precision > 0?val.precision:floor((val.bitLength - 1) * 0.3010299956639812) + 1);
    if (diffPrecision > diffScale + 1) {
      return thisSign;
    }
     else if (diffPrecision < diffScale - 1) {
      return -thisSign;
    }
     else {
      thisUnscaled = (!this$static.intVal && (this$static.intVal = valueOf_7(this$static.smallValue)) , this$static.intVal);
      valUnscaled = (!val.intVal && (val.intVal = valueOf_7(val.smallValue)) , val.intVal);
      diffScale < 0?(thisUnscaled = $multiply(thisUnscaled, powerOf10(-diffScale))):diffScale > 0 && (valUnscaled = $multiply(valUnscaled, powerOf10(diffScale)));
      return $compareTo_10(thisUnscaled, valUnscaled);
    }
  }
   else 
    return thisSign < valueSign?-1:1;
}

function $initFrom(this$static, val){
  var begin, ch, counter, i, last, offset, scaleString, unscaled, unscaledBuffer, wasNonZero;
  begin = 0;
  offset = 0;
  last = val.length;
  unscaledBuffer = new StringBuilder_1(val.length);
  if (0 < last && val.charCodeAt(0) == 43) {
    ++offset;
    ++begin;
    if (offset < last && (val.charCodeAt(offset) == 43 || val.charCodeAt(offset) == 45)) {
      throw new NumberFormatException_1('For input string: "' + val + '"');
    }
  }
  counter = 0;
  wasNonZero = false;
  for (; offset < last && val.charCodeAt(offset) != 46 && val.charCodeAt(offset) != 101 && val.charCodeAt(offset) != 69; ++offset) {
    wasNonZero || (val.charCodeAt(offset) == 48?++counter:(wasNonZero = true));
  }
  $append_6(unscaledBuffer, val, begin, offset);
  if (offset < last && val.charCodeAt(offset) == 46) {
    ++offset;
    begin = offset;
    for (; offset < last && val.charCodeAt(offset) != 101 && val.charCodeAt(offset) != 69; ++offset) {
      wasNonZero || (val.charCodeAt(offset) == 48?++counter:(wasNonZero = true));
    }
    this$static.scale = offset - begin;
    $append_6(unscaledBuffer, val, begin, offset);
  }
   else {
    this$static.scale = 0;
  }
  if (offset < last && (val.charCodeAt(offset) == 101 || val.charCodeAt(offset) == 69)) {
    ++offset;
    begin = offset;
    if (offset < last && val.charCodeAt(offset) == 43) {
      ++offset;
      offset < last && val.charCodeAt(offset) != 45 && ++begin;
    }
    scaleString = val.substr(begin, last - begin);
    this$static.scale = this$static.scale - __parseAndValidateInt(scaleString);
    if (this$static.scale != round_int(this$static.scale)) {
      throw new NumberFormatException_1('Scale out of range.');
    }
  }
  unscaled = unscaledBuffer.impl.string;
  if (unscaled.length < 16) {
    this$static.smallValue = parseUnscaled(unscaled);
    if (isNaN_0(this$static.smallValue)) {
      throw new NumberFormatException_1('For input string: "' + val + '"');
    }
    this$static.bitLength = bitLength(this$static.smallValue);
  }
   else {
    $setUnscaledValue(this$static, new BigInteger_0(unscaled));
  }
  this$static.precision = unscaledBuffer.impl.string.length - counter;
  for (i = 0; i < unscaledBuffer.impl.string.length; ++i) {
    ch = $charAt(unscaledBuffer.impl.string, i);
    if (ch != 45 && ch != 48) {
      break;
    }
    --this$static.precision;
  }
}

function $setUnscaledValue(this$static, unscaledValue){
  var value;
  this$static.intVal = unscaledValue;
  this$static.bitLength = bitLength_1(unscaledValue);
  this$static.bitLength < 54 && (this$static.smallValue = toDouble((value = unscaledValue.numberLength > 1?or(shl(fromInt(unscaledValue.digits[1]), 32), and(fromInt(unscaledValue.digits[0]), Pffffffff_longLit)):and(fromInt(unscaledValue.digits[0]), Pffffffff_longLit) , mul(fromInt(unscaledValue.sign), value))));
}

function $signum(this$static){
  if (this$static.bitLength < 54) {
    return this$static.smallValue < 0?-1:this$static.smallValue > 0?1:0;
  }
  return (!this$static.intVal && (this$static.intVal = valueOf_7(this$static.smallValue)) , this$static.intVal).sign;
}

function BigDecimal_0(val){
  $clinit_BigDecimal();
  $initFrom(this, val);
}

function BigDecimal_1(smallValue, scale){
  this.scale = scale;
  this.bitLength = bitLength_0(smallValue);
  this.bitLength < 54?(this.smallValue = toDouble(smallValue)):(this.intVal = valueOf_6(smallValue));
}

function bitLength(value){
  var negative, result;
  if (value > -140737488355328 && value < 140737488355328) {
    if (value == 0) {
      return 0;
    }
    negative = value < 0;
    negative && (value = -value);
    result = round_int(floor(Math.log(value) / 0.6931471805599453));
    (!negative || value != Math.pow(2, result)) && ++result;
    return result;
  }
  return bitLength_0(fromDouble(value));
}

function bitLength_0(value){
  var high;
  lt(value, P0_longLit) && (value = create0(~value.l & 4194303, ~value.m & 4194303, ~value.h & 1048575));
  return 64 - (high = toInt(shr(value, 32)) , high != 0?numberOfLeadingZeros_0(high):numberOfLeadingZeros_0(toInt(value)) + 32);
}

function parseUnscaled(str){
  var unscaledRegex = unscaledRegex_0;
  !unscaledRegex && (unscaledRegex = unscaledRegex_0 = /^[+-]?\d*$/i);
  if (unscaledRegex.test(str)) {
    return parseInt(str, 10);
  }
   else {
    return Number.NaN;
  }
}

function BigDecimal(){
}

_ = BigDecimal_1.prototype = BigDecimal_0.prototype = BigDecimal.prototype = new Number_0;
_.compareTo$ = function compareTo_13(val){
  return $compareTo_9(this, dynamicCast(val, Q$BigDecimal));
}
;
_.equals$ = function equals_24(x){
  var x1;
  if (this === x) {
    return true;
  }
  if (instanceOf(x, Q$BigDecimal)) {
    x1 = dynamicCast(x, Q$BigDecimal);
    return x1.scale == this.scale && (this.bitLength < 54?x1.smallValue == this.smallValue:$equals_2(this.intVal, x1.intVal));
  }
  return false;
}
;
_.getClass$ = function getClass_444(){
  return Ljava_math_BigDecimal_2_classLit;
}
;
_.hashCode$ = function hashCode_26(){
  var longValue;
  if (this.hashCode != 0) {
    return this.hashCode;
  }
  if (this.bitLength < 54) {
    longValue = fromDouble(this.smallValue);
    this.hashCode = toInt(and(longValue, N1_longLit));
    this.hashCode = 33 * this.hashCode + toInt(and(shr(longValue, 32), N1_longLit));
    this.hashCode = 17 * this.hashCode + round_int(this.scale);
    return this.hashCode;
  }
  this.hashCode = 17 * $hashCode_1(this.intVal) + round_int(this.scale);
  return this.hashCode;
}
;
_.toString$ = function toString_33(){
  var begin, end, exponent, intString, result;
  if (this.toStringImage != null) {
    return this.toStringImage;
  }
  if (this.bitLength < 32) {
    this.toStringImage = toDecimalScaledString_0(fromDouble(this.smallValue), round_int(this.scale));
    return this.toStringImage;
  }
  intString = toDecimalScaledString((!this.intVal && (this.intVal = valueOf_7(this.smallValue)) , this.intVal), 0);
  if (this.scale == 0) {
    return intString;
  }
  begin = (!this.intVal && (this.intVal = valueOf_7(this.smallValue)) , this.intVal).sign < 0?2:1;
  end = intString.length;
  exponent = -this.scale + end - begin;
  result = new StringBuilder_0;
  $append_1(result.impl, intString);
  if (this.scale > 0 && exponent >= -6) {
    if (exponent >= 0) {
      $insert_0(result, end - round_int(this.scale), '.');
    }
     else {
      $replace(result.impl, begin - 1, begin - 1, '0.');
      $insert_0(result, begin + 1, valueOf_5(CH_ZEROS, 0, -round_int(exponent) - 1));
    }
  }
   else {
    if (end - begin >= 1) {
      $replace(result.impl, begin, begin, '.');
      ++end;
    }
    $replace(result.impl, end, end, 'E');
    exponent > 0 && $insert_0(result, ++end, '+');
    $insert_0(result, ++end, '' + toString_7(fromDouble(exponent)));
  }
  this.toStringImage = result.impl.string;
  return this.toStringImage;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Number, Q$BigDecimal]);
_.bitLength = 0;
_.hashCode = 0;
_.intVal = null;
_.precision = 0;
_.scale = 0;
_.smallValue = 0;
_.toStringImage = null;
var BI_SCALED_BY_ZERO, CH_ZEROS, DOUBLE_FIVE_POW, DOUBLE_FIVE_POW_BIT_LENGTH, DOUBLE_TEN_POW, DOUBLE_TEN_POW_BIT_LENGTH, ZERO_SCALED_BY, unscaledRegex_0 = null;
function $clinit_BigInteger(){
  $clinit_BigInteger = nullMethod;
  var i;
  ONE_0 = new BigInteger_2(1, 1);
  TEN = new BigInteger_2(1, 10);
  ZERO_0 = new BigInteger_2(0, 0);
  MINUS_ONE = new BigInteger_2(-1, 1);
  SMALL_VALUES = initValues(_3Ljava_math_BigInteger_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$BigInteger, [ZERO_0, ONE_0, new BigInteger_2(1, 2), new BigInteger_2(1, 3), new BigInteger_2(1, 4), new BigInteger_2(1, 5), new BigInteger_2(1, 6), new BigInteger_2(1, 7), new BigInteger_2(1, 8), new BigInteger_2(1, 9), TEN]);
  TWO_POWS = initDim(_3Ljava_math_BigInteger_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$BigInteger, 32, 0);
  for (i = 0; i < TWO_POWS.length; ++i) {
    TWO_POWS[i] = valueOf_6(shl(P1_longLit, i));
  }
}

function $compareTo_10(this$static, val){
  if (this$static.sign > val.sign) {
    return 1;
  }
  if (this$static.sign < val.sign) {
    return -1;
  }
  if (this$static.numberLength > val.numberLength) {
    return this$static.sign;
  }
  if (this$static.numberLength < val.numberLength) {
    return -val.sign;
  }
  return this$static.sign * compareArrays(this$static.digits, val.digits, this$static.numberLength);
}

function $cutOffLeadingZeroes(this$static){
  while (this$static.numberLength > 0 && this$static.digits[--this$static.numberLength] == 0) {
  }
  this$static.digits[this$static.numberLength++] == 0 && (this$static.sign = 0);
}

function $equals_2(this$static, x){
  var x1;
  if (this$static === x) {
    return true;
  }
  if (instanceOf(x, Q$BigInteger)) {
    x1 = dynamicCast(x, Q$BigInteger);
    return this$static.sign == x1.sign && this$static.numberLength == x1.numberLength && $equalsArrays(this$static, x1.digits);
  }
  return false;
}

function $equalsArrays(this$static, b){
  var i;
  for (i = this$static.numberLength - 1; i >= 0 && this$static.digits[i] == b[i]; --i) {
  }
  return i < 0;
}

function $getFirstNonzeroDigit(this$static){
  var i;
  if (this$static.firstNonzeroDigit == -2) {
    if (this$static.sign == 0) {
      i = -1;
    }
     else {
      for (i = 0; this$static.digits[i] == 0; ++i) {
      }
    }
    this$static.firstNonzeroDigit = i;
  }
  return this$static.firstNonzeroDigit;
}

function $hashCode_1(this$static){
  var i;
  if (this$static.hashCode != 0) {
    return this$static.hashCode;
  }
  for (i = 0; i < this$static.digits.length; ++i) {
    this$static.hashCode = this$static.hashCode * 33 + (this$static.digits[i] & -1);
  }
  this$static.hashCode = this$static.hashCode * this$static.sign;
  return this$static.hashCode;
}

function $multiply(this$static, val){
  if (val.sign == 0) {
    return ZERO_0;
  }
  if (this$static.sign == 0) {
    return ZERO_0;
  }
  return $clinit_Multiplication() , karatsuba(this$static, val);
}

function $pow(this$static, exp){
  var x;
  if (exp < 0) {
    throw new ArithmeticException_0('Negative exponent');
  }
  if (exp == 0) {
    return ONE_0;
  }
   else if (exp == 1 || $equals_2(this$static, ONE_0) || $equals_2(this$static, ZERO_0)) {
    return this$static;
  }
  if (!$testBit(this$static, 0)) {
    x = 1;
    while (!$testBit(this$static, x)) {
      ++x;
    }
    return $multiply(getPowerOfTwo(x * exp), $pow($shiftRight(this$static, x), exp));
  }
  return pow(this$static, exp);
}

function $shiftLeft(this$static, n){
  if (n == 0 || this$static.sign == 0) {
    return this$static;
  }
  return n > 0?shiftLeft(this$static, n):shiftRight(this$static, -n);
}

function $shiftRight(this$static, n){
  if (n == 0 || this$static.sign == 0) {
    return this$static;
  }
  return n > 0?shiftRight(this$static, n):shiftLeft(this$static, -n);
}

function $testBit(this$static, n){
  var digit, firstNonZeroDigit, intCount;
  if (n == 0) {
    return (this$static.digits[0] & 1) != 0;
  }
  if (n < 0) {
    throw new ArithmeticException_0('Negative bit address');
  }
  intCount = ~~n >> 5;
  if (intCount >= this$static.numberLength) {
    return this$static.sign < 0;
  }
  digit = this$static.digits[intCount];
  n = 1 << (n & 31);
  if (this$static.sign < 0) {
    firstNonZeroDigit = $getFirstNonzeroDigit(this$static);
    if (intCount < firstNonZeroDigit) {
      return false;
    }
     else 
      firstNonZeroDigit == intCount?(digit = -digit):(digit = ~digit);
  }
  return (digit & n) != 0;
}

function BigInteger_0(val){
  $clinit_BigInteger();
  BigInteger_1.call(this, val);
}

function BigInteger_1(val){
  if (val == null) {
    throw new NullPointerException_0;
  }
  if (val.length == 0) {
    throw new NumberFormatException_1('Zero length BigInteger');
  }
  setFromString(this, val);
}

function BigInteger_2(sign, value){
  $clinit_BigInteger();
  this.sign = sign;
  this.numberLength = 1;
  this.digits = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [value]);
}

function BigInteger_3(digits){
  $clinit_BigInteger();
  if (digits.length == 0) {
    this.sign = 0;
    this.numberLength = 1;
    this.digits = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0]);
  }
   else {
    this.sign = 1;
    this.numberLength = digits.length;
    this.digits = digits;
    $cutOffLeadingZeroes(this);
  }
}

function BigInteger_4(sign, numberLength, digits){
  $clinit_BigInteger();
  this.sign = sign;
  this.numberLength = numberLength;
  this.digits = digits;
}

--></script>
<script><!--
function BigInteger_5(sign, val){
  this.sign = sign;
  if (eq(and(val, N100000000_longLit), P0_longLit)) {
    this.numberLength = 1;
    this.digits = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [toInt(val)]);
  }
   else {
    this.numberLength = 2;
    this.digits = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [toInt(val), toInt(shr(val, 32))]);
  }
}

function BigInteger_6(sign, val){
  this.sign = sign;
  if (val < 4294967296) {
    this.numberLength = 1;
    this.digits = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [~~val]);
  }
   else {
    this.numberLength = 2;
    this.digits = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [~~(val % 4294967296), ~~(val / 4294967296)]);
  }
}

function getPowerOfTwo(exp){
  var bitN, intCount, resDigits;
  if (exp < TWO_POWS.length) {
    return TWO_POWS[exp];
  }
  intCount = ~~exp >> 5;
  bitN = exp & 31;
  resDigits = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, intCount + 1, 1);
  resDigits[intCount] = 1 << bitN;
  return new BigInteger_4(1, intCount + 1, resDigits);
}

function setFromString(bi, val){
  var bigRadix, bigRadixDigit, bigRadixDigitsLength, charsPerInt, digitIndex, digits, endChar, newDigit, sign, startChar, stringLength, substrEnd, substrStart, topChars;
  stringLength = val.length;
  endChar = stringLength;
  if (val.charCodeAt(0) == 45) {
    sign = -1;
    startChar = 1;
    --stringLength;
  }
   else {
    sign = 1;
    startChar = 0;
  }
  charsPerInt = ($clinit_Conversion() , digitFitInInt)[10];
  bigRadixDigitsLength = ~~(stringLength / charsPerInt);
  topChars = stringLength % charsPerInt;
  topChars != 0 && ++bigRadixDigitsLength;
  digits = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, bigRadixDigitsLength, 1);
  bigRadix = bigRadices[8];
  digitIndex = 0;
  substrEnd = startChar + (topChars == 0?charsPerInt:topChars);
  for (substrStart = startChar; substrStart < endChar; substrStart = substrEnd , substrEnd = substrEnd + charsPerInt) {
    bigRadixDigit = __parseAndValidateInt(val.substr(substrStart, substrEnd - substrStart));
    newDigit = ($clinit_Multiplication() , multiplyByInt(digits, digits, digitIndex, bigRadix));
    newDigit += inplaceAdd(digits, digitIndex, bigRadixDigit);
    digits[digitIndex++] = newDigit;
  }
  bi.sign = sign;
  bi.numberLength = digitIndex;
  bi.digits = digits;
  $cutOffLeadingZeroes(bi);
}

function valueOf_6(val){
  $clinit_BigInteger();
  if (lt(val, P0_longLit)) {
    if (neq(val, N1_longLit)) {
      return new BigInteger_5(-1, neg(val));
    }
    return MINUS_ONE;
  }
   else 
    return lte(val, Pa_longLit)?SMALL_VALUES[toInt(val)]:new BigInteger_5(1, val);
}

function valueOf_7(val){
  $clinit_BigInteger();
  if (val < 0) {
    if (val != -1) {
      return new BigInteger_6(-1, -val);
    }
    return MINUS_ONE;
  }
   else 
    return val <= 10?SMALL_VALUES[round_int(val)]:new BigInteger_6(1, val);
}

function BigInteger(){
}

_ = BigInteger_6.prototype = BigInteger_5.prototype = BigInteger_4.prototype = BigInteger_3.prototype = BigInteger_2.prototype = BigInteger_0.prototype = BigInteger.prototype = new Number_0;
_.compareTo$ = function compareTo_14(val){
  return $compareTo_10(this, dynamicCast(val, Q$BigInteger));
}
;
_.equals$ = function equals_25(x){
  return $equals_2(this, x);
}
;
_.getClass$ = function getClass_445(){
  return Ljava_math_BigInteger_2_classLit;
}
;
_.hashCode$ = function hashCode_27(){
  return $hashCode_1(this);
}
;
_.toString$ = function toString_34(){
  return toDecimalScaledString(this, 0);
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Number, Q$BigInteger]);
_.digits = null;
_.firstNonzeroDigit = -2;
_.hashCode = 0;
_.numberLength = 0;
_.sign = 0;
var MINUS_ONE, ONE_0, SMALL_VALUES, TEN, TWO_POWS = null, ZERO_0;
function bitLength_1(val){
  var bLength, highDigit, i;
  if (val.sign == 0) {
    return 0;
  }
  bLength = val.numberLength << 5;
  highDigit = val.digits[val.numberLength - 1];
  if (val.sign < 0) {
    i = $getFirstNonzeroDigit(val);
    i == val.numberLength - 1 && (highDigit = ~~(highDigit - 1));
  }
  bLength -= numberOfLeadingZeros_0(highDigit);
  return bLength;
}

function shiftLeft(source, count){
  var intCount, resDigits, resLength, result;
  intCount = ~~count >> 5;
  count &= 31;
  resLength = source.numberLength + intCount + (count == 0?0:1);
  resDigits = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, resLength, 1);
  shiftLeft_0(resDigits, source.digits, intCount, count);
  result = new BigInteger_4(source.sign, resLength, resDigits);
  $cutOffLeadingZeroes(result);
  return result;
}

function shiftLeft_0(result, source, intCount, count){
  var i, rightShiftCount;
  if (count == 0) {
    arraycopy(source, 0, result, intCount, result.length - intCount);
  }
   else {
    rightShiftCount = 32 - count;
    result[result.length - 1] = 0;
    for (i = result.length - 1; i > intCount; --i) {
      result[i] |= ~~source[i - intCount - 1] >>> rightShiftCount;
      result[i - 1] = source[i - intCount - 1] << count;
    }
  }
  for (i = 0; i < intCount; ++i) {
    result[i] = 0;
  }
}

function shiftLeftOneBit(result, source, srcLen){
  var carry, i, val;
  carry = 0;
  for (i = 0; i < srcLen; ++i) {
    val = source[i];
    result[i] = val << 1 | carry;
    carry = ~~val >>> 31;
  }
  carry != 0 && (result[srcLen] = carry);
}

function shiftRight(source, count){
  var i, intCount, resDigits, resLength, result;
  intCount = ~~count >> 5;
  count &= 31;
  if (intCount >= source.numberLength) {
    return source.sign < 0?($clinit_BigInteger() , MINUS_ONE):($clinit_BigInteger() , ZERO_0);
  }
  resLength = source.numberLength - intCount;
  resDigits = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, resLength + 1, 1);
  shiftRight_0(resDigits, resLength, source.digits, intCount, count);
  if (source.sign < 0) {
    for (i = 0; i < intCount && source.digits[i] == 0; ++i) {
    }
    if (i < intCount || count > 0 && source.digits[i] << 32 - count != 0) {
      for (i = 0; i < resLength && resDigits[i] == -1; ++i) {
        resDigits[i] = 0;
      }
      i == resLength && ++resLength;
      ++resDigits[i];
    }
  }
  result = new BigInteger_4(source.sign, resLength, resDigits);
  $cutOffLeadingZeroes(result);
  return result;
}

function shiftRight_0(result, resultLen, source, intCount, count){
  var allZero, i, leftShiftCount;
  allZero = true;
  for (i = 0; i < intCount; ++i) {
    allZero = allZero & source[i] == 0;
  }
  if (count == 0) {
    arraycopy(source, intCount, result, 0, resultLen);
  }
   else {
    leftShiftCount = 32 - count;
    allZero = allZero & source[i] << leftShiftCount == 0;
    for (i = 0; i < resultLen - 1; ++i) {
      result[i] = ~~source[i + intCount] >>> count | source[i + intCount + 1] << leftShiftCount;
    }
    result[i] = ~~source[i + intCount] >>> count;
    ++i;
  }
  return allZero;
}

function $clinit_Conversion(){
  $clinit_Conversion = nullMethod;
  bigRadices = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-2147483648, 1162261467, 1073741824, 1220703125, 362797056, 1977326743, 1073741824, 387420489, 1000000000, 214358881, 429981696, 815730721, 1475789056, 170859375, 268435456, 410338673, 612220032, 893871739, 1280000000, 1801088541, 113379904, 148035889, 191102976, 244140625, 308915776, 387420489, 481890304, 594823321, 729000000, 887503681, 1073741824, 1291467969, 1544804416, 1838265625, 60466176]);
  digitFitInInt = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-1, -1, 31, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5]);
}

function divideLongByBillion(a){
  var aPos, quot, rem;
  if (gte_0(a, P0_longLit)) {
    quot = div(a, P3b9aca00_longLit);
    rem = mod(a, P3b9aca00_longLit);
  }
   else {
    aPos = shru(a, 1);
    quot = div(aPos, P1dcd6500_longLit);
    rem = mod(aPos, P1dcd6500_longLit);
    rem = add_0(shl(rem, 1), and(a, P1_longLit));
  }
  return or(shl(rem, 32), and(quot, Pffffffff_longLit));
}

function toDecimalScaledString(val, scale){
  $clinit_Conversion();
  var currentChar, delta, digits, exponent, highDigit, i, i1, insertPoint, j, negNumber, numberLength, prev, previous, res, resDigit, resLengthInChars, result, result1, result11, sign, startPoint, temp, temp1, tempLen, v;
  sign = val.sign;
  numberLength = val.numberLength;
  digits = val.digits;
  if (sign == 0) {
    switch (scale) {
      case 0:
        return '0';
      case 1:
        return '0.0';
      case 2:
        return '0.00';
      case 3:
        return '0.000';
      case 4:
        return '0.0000';
      case 5:
        return '0.00000';
      case 6:
        return '0.000000';
      default:result1 = new StringBuilder_0;
        scale < 0?(result1.impl.string += '0E+' , result1):(result1.impl.string += '0E' , result1);
        $append(result1.impl, -scale);
        return result1.impl.string;
    }
  }
  resLengthInChars = numberLength * 10 + 1 + 7;
  result = initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, resLengthInChars + 1, 1);
  currentChar = resLengthInChars;
  if (numberLength == 1) {
    highDigit = digits[0];
    if (highDigit < 0) {
      v = and(fromInt(highDigit), Pffffffff_longLit);
      do {
        prev = v;
        v = div(v, Pa_longLit);
        result[--currentChar] = 48 + toInt(sub(prev, mul(v, Pa_longLit))) & 65535;
      }
       while (neq(v, P0_longLit));
    }
     else {
      v = highDigit;
      do {
        prev = v;
        v = ~~(v / 10);
        result[--currentChar] = 48 + (prev - v * 10) & 65535;
      }
       while (v != 0);
    }
  }
   else {
    temp = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, numberLength, 1);
    tempLen = numberLength;
    arraycopy(digits, 0, temp, 0, numberLength);
    BIG_LOOP: while (true) {
      result11 = P0_longLit;
      for (i1 = tempLen - 1; i1 >= 0; --i1) {
        temp1 = add_0(shl(result11, 32), and(fromInt(temp[i1]), Pffffffff_longLit));
        res = divideLongByBillion(temp1);
        temp[i1] = toInt(res);
        result11 = fromInt(toInt(shr(res, 32)));
      }
      resDigit = toInt(result11);
      previous = currentChar;
      do {
        result[--currentChar] = 48 + resDigit % 10 & 65535;
      }
       while ((resDigit = ~~(resDigit / 10)) != 0 && currentChar != 0);
      delta = 9 - previous + currentChar;
      for (i = 0; i < delta && currentChar > 0; ++i) {
        result[--currentChar] = 48;
      }
      j = tempLen - 1;
      for (; temp[j] == 0; --j) {
        if (j == 0) {
          break BIG_LOOP;
        }
      }
      tempLen = j + 1;
    }
    while (result[currentChar] == 48) {
      ++currentChar;
    }
  }
  negNumber = sign < 0;
  exponent = resLengthInChars - currentChar - scale - 1;
  if (scale == 0) {
    negNumber && (result[--currentChar] = 45);
    return valueOf_5(result, currentChar, resLengthInChars - currentChar);
  }
  if (scale > 0 && exponent >= -6) {
    if (exponent >= 0) {
      insertPoint = currentChar + exponent;
      for (j = resLengthInChars - 1; j >= insertPoint; --j) {
        result[j + 1] = result[j];
      }
      result[++insertPoint] = 46;
      negNumber && (result[--currentChar] = 45);
      return valueOf_5(result, currentChar, resLengthInChars - currentChar + 1);
    }
    for (j = 2; j < -exponent + 1; ++j) {
      result[--currentChar] = 48;
    }
    result[--currentChar] = 46;
    result[--currentChar] = 48;
    negNumber && (result[--currentChar] = 45);
    return valueOf_5(result, currentChar, resLengthInChars - currentChar);
  }
  startPoint = currentChar + 1;
  result1 = new StringBuilder_1;
  negNumber && (result1.impl.string += '-' , result1);
  if (resLengthInChars - startPoint >= 1) {
    $append_4(result1, result[currentChar]);
    result1.impl.string += '.';
    $appendNonNull(result1.impl, valueOf_5(result, currentChar + 1, resLengthInChars - currentChar - 1));
  }
   else {
    $appendNonNull(result1.impl, valueOf_5(result, currentChar, resLengthInChars - currentChar));
  }
  result1.impl.string += 'E';
  exponent > 0 && (result1.impl.string += '+' , result1);
  $append_1(result1.impl, '' + exponent);
  return result1.impl.string;
}

function toDecimalScaledString_0(value, scale){
  $clinit_Conversion();
  var currentChar, exponent, insertPoint, j, negNumber, prev, result, result1, startPoint, v;
  negNumber = lt(value, P0_longLit);
  negNumber && (value = neg(value));
  if (eq(value, P0_longLit)) {
    switch (scale) {
      case 0:
        return '0';
      case 1:
        return '0.0';
      case 2:
        return '0.00';
      case 3:
        return '0.000';
      case 4:
        return '0.0000';
      case 5:
        return '0.00000';
      case 6:
        return '0.000000';
      default:result1 = new StringBuilder_0;
        scale < 0?(result1.impl.string += '0E+' , result1):(result1.impl.string += '0E' , result1);
        $append_1(result1.impl, scale == -2147483648?'2147483648':'' + -scale);
        return result1.impl.string;
    }
  }
  result = initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, 19, 1);
  currentChar = 18;
  v = value;
  do {
    prev = v;
    v = div(v, Pa_longLit);
    result[--currentChar] = toInt(add_0(P30_longLit, sub(prev, mul(v, Pa_longLit)))) & 65535;
  }
   while (neq(v, P0_longLit));
  exponent = sub(sub(sub(P12_longLit, fromInt(currentChar)), fromInt(scale)), P1_longLit);
  if (scale == 0) {
    negNumber && (result[--currentChar] = 45);
    return valueOf_5(result, currentChar, 18 - currentChar);
  }
  if (scale > 0 && gte_0(exponent, N6_longLit)) {
    if (gte_0(exponent, P0_longLit)) {
      insertPoint = currentChar + toInt(exponent);
      for (j = 17; j >= insertPoint; --j) {
        result[j + 1] = result[j];
      }
      result[++insertPoint] = 46;
      negNumber && (result[--currentChar] = 45);
      return valueOf_5(result, currentChar, 18 - currentChar + 1);
    }
    for (j = 2; lt(fromInt(j), add_0(neg(exponent), P1_longLit)); ++j) {
      result[--currentChar] = 48;
    }
    result[--currentChar] = 46;
    result[--currentChar] = 48;
    negNumber && (result[--currentChar] = 45);
    return valueOf_5(result, currentChar, 18 - currentChar);
  }
  startPoint = currentChar + 1;
  result1 = new StringBuilder_1;
  negNumber && (result1.impl.string += '-' , result1);
  if (18 - startPoint >= 1) {
    $append_4(result1, result[currentChar]);
    result1.impl.string += '.';
    $appendNonNull(result1.impl, valueOf_5(result, currentChar + 1, 18 - currentChar - 1));
  }
   else {
    $appendNonNull(result1.impl, valueOf_5(result, currentChar, 18 - currentChar));
  }
  result1.impl.string += 'E';
  gt(exponent, P0_longLit) && (result1.impl.string += '+' , result1);
  $append_1(result1.impl, '' + toString_7(exponent));
  return result1.impl.string;
}

var bigRadices, digitFitInInt;
function add_8(op1, op2){
  var a, b, cmp, op1Len, op1Sign, op2Len, op2Sign, res, resDigits, resSign, valueHi, valueLo;
  op1Sign = op1.sign;
  op2Sign = op2.sign;
  if (op1Sign == 0) {
    return op2;
  }
  if (op2Sign == 0) {
    return op1;
  }
  op1Len = op1.numberLength;
  op2Len = op2.numberLength;
  if (op1Len + op2Len == 2) {
    a = and(fromInt(op1.digits[0]), Pffffffff_longLit);
    b = and(fromInt(op2.digits[0]), Pffffffff_longLit);
    if (op1Sign == op2Sign) {
      res = add_0(a, b);
      valueLo = toInt(res);
      valueHi = toInt(shru(res, 32));
      return valueHi == 0?new BigInteger_2(op1Sign, valueLo):new BigInteger_4(op1Sign, 2, initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [valueLo, valueHi]));
    }
    return valueOf_6(op1Sign < 0?sub(b, a):sub(a, b));
  }
   else if (op1Sign == op2Sign) {
    resSign = op1Sign;
    resDigits = op1Len >= op2Len?add_9(op1.digits, op1Len, op2.digits, op2Len):add_9(op2.digits, op2Len, op1.digits, op1Len);
  }
   else {
    cmp = op1Len != op2Len?op1Len > op2Len?1:-1:compareArrays(op1.digits, op2.digits, op1Len);
    if (cmp == 0) {
      return $clinit_BigInteger() , ZERO_0;
    }
    if (cmp == 1) {
      resSign = op1Sign;
      resDigits = subtract_0(op1.digits, op1Len, op2.digits, op2Len);
    }
     else {
      resSign = op2Sign;
      resDigits = subtract_0(op2.digits, op2Len, op1.digits, op1Len);
    }
  }
  res = new BigInteger_4(resSign, resDigits.length, resDigits);
  $cutOffLeadingZeroes(res);
  return res;
}

function add_9(a, aSize, b, bSize){
  var res;
  res = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, aSize + 1, 1);
  add_10(res, a, aSize, b, bSize);
  return res;
}

function add_10(res, a, aSize, b, bSize){
  var carry, i;
  carry = add_0(and(fromInt(a[0]), Pffffffff_longLit), and(fromInt(b[0]), Pffffffff_longLit));
  res[0] = toInt(carry);
  carry = shr(carry, 32);
  if (aSize >= bSize) {
    for (i = 1; i < bSize; ++i) {
      carry = add_0(carry, add_0(and(fromInt(a[i]), Pffffffff_longLit), and(fromInt(b[i]), Pffffffff_longLit)));
      res[i] = toInt(carry);
      carry = shr(carry, 32);
    }
    for (; i < aSize; ++i) {
      carry = add_0(carry, and(fromInt(a[i]), Pffffffff_longLit));
      res[i] = toInt(carry);
      carry = shr(carry, 32);
    }
  }
   else {
    for (i = 1; i < aSize; ++i) {
      carry = add_0(carry, add_0(and(fromInt(a[i]), Pffffffff_longLit), and(fromInt(b[i]), Pffffffff_longLit)));
      res[i] = toInt(carry);
      carry = shr(carry, 32);
    }
    for (; i < bSize; ++i) {
      carry = add_0(carry, and(fromInt(b[i]), Pffffffff_longLit));
      res[i] = toInt(carry);
      carry = shr(carry, 32);
    }
  }
  neq(carry, P0_longLit) && (res[i] = toInt(carry));
}

function compareArrays(a, b, size){
  var i;
  for (i = size - 1; i >= 0 && a[i] == b[i]; --i) {
  }
  return i < 0?0:lt(and(fromInt(a[i]), Pffffffff_longLit), and(fromInt(b[i]), Pffffffff_longLit))?-1:1;
}

function inplaceAdd(a, aSize, addend){
  var carry, i;
  carry = and(fromInt(addend), Pffffffff_longLit);
  for (i = 0; neq(carry, P0_longLit) && i < aSize; ++i) {
    carry = add_0(carry, and(fromInt(a[i]), Pffffffff_longLit));
    a[i] = toInt(carry);
    carry = shr(carry, 32);
  }
  return toInt(carry);
}

function subtract(op1, op2){
  var a, b, cmp, op1Len, op1Sign, op2Len, op2Sign, res, resDigits, resSign;
  op1Sign = op1.sign;
  op2Sign = op2.sign;
  if (op2Sign == 0) {
    return op1;
  }
  if (op1Sign == 0) {
    return op2.sign == 0?op2:new BigInteger_4(-op2.sign, op2.numberLength, op2.digits);
  }
  op1Len = op1.numberLength;
  op2Len = op2.numberLength;
  if (op1Len + op2Len == 2) {
    a = and(fromInt(op1.digits[0]), Pffffffff_longLit);
    b = and(fromInt(op2.digits[0]), Pffffffff_longLit);
    op1Sign < 0 && (a = neg(a));
    op2Sign < 0 && (b = neg(b));
    return valueOf_6(sub(a, b));
  }
  cmp = op1Len != op2Len?op1Len > op2Len?1:-1:compareArrays(op1.digits, op2.digits, op1Len);
  if (cmp == -1) {
    resSign = -op2Sign;
    resDigits = op1Sign == op2Sign?subtract_0(op2.digits, op2Len, op1.digits, op1Len):add_9(op2.digits, op2Len, op1.digits, op1Len);
  }
   else {
    resSign = op1Sign;
    if (op1Sign == op2Sign) {
      if (cmp == 0) {
        return $clinit_BigInteger() , ZERO_0;
      }
      resDigits = subtract_0(op1.digits, op1Len, op2.digits, op2Len);
    }
     else {
      resDigits = add_9(op1.digits, op1Len, op2.digits, op2Len);
    }
  }
  res = new BigInteger_4(resSign, resDigits.length, resDigits);
  $cutOffLeadingZeroes(res);
  return res;
}

function subtract_0(a, aSize, b, bSize){
  var res;
  res = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, aSize, 1);
  subtract_1(res, a, aSize, b, bSize);
  return res;
}

function subtract_1(res, a, aSize, b, bSize){
  var borrow, i;
  borrow = P0_longLit;
  for (i = 0; i < bSize; ++i) {
    borrow = add_0(borrow, sub(and(fromInt(a[i]), Pffffffff_longLit), and(fromInt(b[i]), Pffffffff_longLit)));
    res[i] = toInt(borrow);
    borrow = shr(borrow, 32);
  }
  for (; i < aSize; ++i) {
    borrow = add_0(borrow, and(fromInt(a[i]), Pffffffff_longLit));
    res[i] = toInt(borrow);
    borrow = shr(borrow, 32);
  }
}

function $clinit_MathContext(){
  $clinit_MathContext = nullMethod;
  new MathContext_0(34, ($clinit_RoundingMode() , HALF_EVEN));
  new MathContext_0(7, HALF_EVEN);
  new MathContext_0(16, HALF_EVEN);
  new MathContext_0(0, HALF_UP);
  chPrecision = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [112, 114, 101, 99, 105, 115, 105, 111, 110, 61]);
  chRoundingMode = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [114, 111, 117, 110, 100, 105, 110, 103, 77, 111, 100, 101, 61]);
}

function MathContext_0(precision, roundingMode){
  $clinit_MathContext();
  if (precision < 0) {
    throw new IllegalArgumentException_1('Digits < 0');
  }
  if (!roundingMode) {
    throw new NullPointerException_1('null RoundingMode');
  }
  this.precision = precision;
  this.roundingMode = roundingMode;
}

function MathContext(){
}

_ = MathContext_0.prototype = MathContext.prototype = new Object_0;
_.equals$ = function equals_26(x){
  return instanceOf(x, Q$MathContext) && dynamicCast(x, Q$MathContext).precision == this.precision && dynamicCast(x, Q$MathContext).roundingMode == this.roundingMode;
}
;
_.getClass$ = function getClass_446(){
  return Ljava_math_MathContext_2_classLit;
}
;
_.hashCode$ = function hashCode_28(){
  return this.precision << 3 | this.roundingMode.ordinal;
}
;
_.toString$ = function toString_35(){
  var sb;
  sb = new StringBuilder_1;
  $append_5(sb, chPrecision);
  $append_7(sb, this.precision);
  sb.impl.string += ' ';
  $append_5(sb, chRoundingMode);
  $append_8(sb, this.roundingMode);
  return sb.impl.string;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$MathContext]);
_.precision = 0;
_.roundingMode = null;
var chPrecision, chRoundingMode;
function $clinit_Multiplication(){
  $clinit_Multiplication = nullMethod;
  var fivePow, i;
  bigFivePows = initDim(_3Ljava_math_BigInteger_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$BigInteger, 32, 0);
  bigTenPows = initDim(_3Ljava_math_BigInteger_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$BigInteger, 32, 0);
  fivePow = P1_longLit;
  for (i = 0; i <= 18; ++i) {
    bigFivePows[i] = valueOf_6(fivePow);
    bigTenPows[i] = valueOf_6(shl(fivePow, i));
    fivePow = mul(fivePow, P5_longLit);
  }
  for (; i < bigTenPows.length; ++i) {
    bigFivePows[i] = $multiply(bigFivePows[i - 1], bigFivePows[1]);
    bigTenPows[i] = $multiply(bigTenPows[i - 1], ($clinit_BigInteger() , TEN));
  }
}

function karatsuba(op1, op2){
  $clinit_Multiplication();
  var lower, lowerOp1, lowerOp2, middle, ndiv2, temp, upper, upperOp1, upperOp2;
  if (op2.numberLength > op1.numberLength) {
    temp = op1;
    op1 = op2;
    op2 = temp;
  }
  if (op2.numberLength < 63) {
    return multiplyPAP(op1, op2);
  }
  ndiv2 = (op1.numberLength & -2) << 4;
  upperOp1 = $shiftRight(op1, ndiv2);
  upperOp2 = $shiftRight(op2, ndiv2);
  lowerOp1 = subtract(op1, $shiftLeft(upperOp1, ndiv2));
  lowerOp2 = subtract(op2, $shiftLeft(upperOp2, ndiv2));
  upper = karatsuba(upperOp1, upperOp2);
  lower = karatsuba(lowerOp1, lowerOp2);
  middle = karatsuba(subtract(upperOp1, lowerOp1), subtract(lowerOp2, upperOp2));
  middle = add_8(add_8(middle, upper), lower);
  middle = $shiftLeft(middle, ndiv2);
  upper = $shiftLeft(upper, ndiv2 << 1);
  return add_8(add_8(upper, middle), lower);
}

function multArraysPAP(aDigits, aLen, bDigits, bLen, resDigits){
  if (aLen == 0 || bLen == 0) {
    return;
  }
  aLen == 1?(resDigits[bLen] = multiplyByInt(resDigits, bDigits, bLen, aDigits[0])):bLen == 1?(resDigits[aLen] = multiplyByInt(resDigits, aDigits, aLen, bDigits[0])):multPAP(aDigits, bDigits, resDigits, aLen, bLen);
}

function multPAP(a, b, t, aLen, bLen){
  var aI, carry, i, j;
  if (maskUndefined(a) === maskUndefined(b) && aLen == bLen) {
    square(a, aLen, t);
    return;
  }
  for (i = 0; i < aLen; ++i) {
    carry = P0_longLit;
    aI = a[i];
    for (j = 0; j < bLen; ++j) {
      carry = add_0(add_0(mul(and(fromInt(aI), Pffffffff_longLit), and(fromInt(b[j]), Pffffffff_longLit)), and(fromInt(t[i + j]), Pffffffff_longLit)), and(fromInt(toInt(carry)), Pffffffff_longLit));
      t[i + j] = toInt(carry);
      carry = shru(carry, 32);
    }
    t[i + bLen] = toInt(carry);
  }
}

function multiplyByInt(res, a, aSize, factor){
  $clinit_Multiplication();
  var carry, i;
  carry = P0_longLit;
  for (i = 0; i < aSize; ++i) {
    carry = add_0(mul(and(fromInt(a[i]), Pffffffff_longLit), and(fromInt(factor), Pffffffff_longLit)), and(fromInt(toInt(carry)), Pffffffff_longLit));
    res[i] = toInt(carry);
    carry = shru(carry, 32);
  }
  return toInt(carry);
}

function multiplyPAP(a, b){
  var aDigits, aLen, bDigits, bLen, resDigits, resLength, resSign, result, val, valueHi, valueLo;
  aLen = a.numberLength;
  bLen = b.numberLength;
  resLength = aLen + bLen;
  resSign = a.sign != b.sign?-1:1;
  if (resLength == 2) {
    val = mul(and(fromInt(a.digits[0]), Pffffffff_longLit), and(fromInt(b.digits[0]), Pffffffff_longLit));
    valueLo = toInt(val);
    valueHi = toInt(shru(val, 32));
    return valueHi == 0?new BigInteger_2(resSign, valueLo):new BigInteger_4(resSign, 2, initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [valueLo, valueHi]));
  }
  aDigits = a.digits;
  bDigits = b.digits;
  resDigits = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, resLength, 1);
  multArraysPAP(aDigits, aLen, bDigits, bLen, resDigits);
  result = new BigInteger_4(resSign, resLength, resDigits);
  $cutOffLeadingZeroes(result);
  return result;
}

function pow(base, exponent){
  $clinit_Multiplication();
  var acc, res;
  res = ($clinit_BigInteger() , ONE_0);
  acc = base;
  for (; exponent > 1; exponent >>= 1) {
    (exponent & 1) != 0 && (res = $multiply(res, acc));
    acc.numberLength == 1?(acc = $multiply(acc, acc)):(acc = new BigInteger_3(square(acc.digits, acc.numberLength, initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, acc.numberLength << 1, 1))));
  }
  res = $multiply(res, acc);
  return res;
}

function powerOf10(exp){
  $clinit_Multiplication();
  var intExp, longExp, powerOfFive, res;
  intExp = round_int(exp);
  if (exp < bigTenPows.length) {
    return bigTenPows[intExp];
  }
   else if (exp <= 50) {
    return $pow(($clinit_BigInteger() , TEN), intExp);
  }
   else if (exp <= 1000) {
    return $shiftLeft($pow(bigFivePows[1], intExp), intExp);
  }
  if (exp > 1000000) {
    throw new ArithmeticException_0('power of ten too big');
  }
  if (exp <= 2147483647) {
    return $shiftLeft($pow(bigFivePows[1], intExp), intExp);
  }
  powerOfFive = $pow(bigFivePows[1], 2147483647);
  res = powerOfFive;
  longExp = fromDouble(exp - 2147483647);
  intExp = round_int(exp % 2147483647);
  while (gt(longExp, P7fffffff_longLit)) {
    res = $multiply(res, powerOfFive);
    longExp = sub(longExp, P7fffffff_longLit);
  }
  res = $multiply(res, $pow(bigFivePows[1], intExp));
  res = $shiftLeft(res, 2147483647);
  longExp = fromDouble(exp - 2147483647);
  while (gt(longExp, P7fffffff_longLit)) {
    res = $shiftLeft(res, 2147483647);
    longExp = sub(longExp, P7fffffff_longLit);
  }
  res = $shiftLeft(res, intExp);
  return res;
}

function square(a, aLen, res){
  var carry, i, index, j;
  for (i = 0; i < aLen; ++i) {
    carry = P0_longLit;
    for (j = i + 1; j < aLen; ++j) {
      carry = add_0(add_0(mul(and(fromInt(a[i]), Pffffffff_longLit), and(fromInt(a[j]), Pffffffff_longLit)), and(fromInt(res[i + j]), Pffffffff_longLit)), and(fromInt(toInt(carry)), Pffffffff_longLit));
      res[i + j] = toInt(carry);
      carry = shru(carry, 32);
    }
    res[i + aLen] = toInt(carry);
  }
  shiftLeftOneBit(res, res, aLen << 1);
  carry = P0_longLit;
  for (i = 0 , index = 0; i < aLen; ++i , ++index) {
    carry = add_0(add_0(mul(and(fromInt(a[i]), Pffffffff_longLit), and(fromInt(a[i]), Pffffffff_longLit)), and(fromInt(res[index]), Pffffffff_longLit)), and(fromInt(toInt(carry)), Pffffffff_longLit));
    res[index] = toInt(carry);
    carry = shru(carry, 32);
    ++index;
    carry = add_0(carry, and(fromInt(res[index]), Pffffffff_longLit));
    res[index] = toInt(carry);
    carry = shru(carry, 32);
  }
  return res;
}

var bigFivePows, bigTenPows;
function $clinit_RoundingMode(){
  $clinit_RoundingMode = nullMethod;
  UP = new RoundingMode_0('UP', 0);
  DOWN = new RoundingMode_0('DOWN', 1);
  CEILING = new RoundingMode_0('CEILING', 2);
  FLOOR = new RoundingMode_0('FLOOR', 3);
  HALF_UP = new RoundingMode_0('HALF_UP', 4);
  HALF_DOWN = new RoundingMode_0('HALF_DOWN', 5);
  HALF_EVEN = new RoundingMode_0('HALF_EVEN', 6);
  UNNECESSARY = new RoundingMode_0('UNNECESSARY', 7);
  $VALUES_38 = initValues(_3Ljava_math_RoundingMode_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$RoundingMode, [UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN, HALF_EVEN, UNNECESSARY]);
}

function RoundingMode_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_39(){
  $clinit_RoundingMode();
  return $VALUES_38;
}

function RoundingMode(){
}

_ = RoundingMode_0.prototype = RoundingMode.prototype = new Enum;
_.getClass$ = function getClass_447(){
  return Ljava_math_RoundingMode_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$RoundingMode]);
var $VALUES_38, CEILING, DOWN, FLOOR, HALF_DOWN, HALF_EVEN, HALF_UP, UNNECESSARY, UP;
function GeneralSecurityException_0(){
  $fillInStackTrace();
}

function GeneralSecurityException(){
}

_ = GeneralSecurityException_0.prototype = GeneralSecurityException.prototype = new Exception;
_.getClass$ = function getClass_448(){
  return Ljava_security_GeneralSecurityException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function DigestException_0(){
  $fillInStackTrace();
}

function DigestException(){
}

_ = DigestException_0.prototype = DigestException.prototype = new GeneralSecurityException;
--></script>
<script><!--
_.getClass$ = function getClass_449(){
  return Ljava_security_DigestException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function NoSuchAlgorithmException_0(){
  $fillInStackTrace();
}

function NoSuchAlgorithmException(){
}

_ = NoSuchAlgorithmException_0.prototype = NoSuchAlgorithmException.prototype = new GeneralSecurityException;
_.getClass$ = function getClass_450(){
  return Ljava_security_NoSuchAlgorithmException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function Date_4(date){
  Date_2.call(this, date);
}

function Date_3(){
}

_ = Date_4.prototype = Date_3.prototype = new Date_0;
_.getClass$ = function getClass_451(){
  return Ljava_sql_Date_2_classLit;
}
;
_.toString$ = function toString_36(){
  return '' + (1900 + (this.jsdate.getFullYear() - 1900)) + '-' + padTwo(this.jsdate.getMonth() + 1) + '-' + padTwo(this.jsdate.getDate());
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Date]);
function Time_0(time){
  Date_2.call(this, time);
}

function Time(){
}

_ = Time_0.prototype = Time.prototype = new Date_0;
_.getClass$ = function getClass_452(){
  return Ljava_sql_Time_2_classLit;
}
;
_.toString$ = function toString_37(){
  return padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds());
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Date]);
function $compareTo_11(this$static, o){
  var sign;
  sign = signum(sub(fromDouble(this$static.jsdate.getTime()), fromDouble(o.jsdate.getTime())));
  return sign == 0?this$static.nanos - o.nanos:sign;
}

function $equals_3(this$static, ts){
  return eq(fromDouble(this$static.jsdate.getTime()), fromDouble(ts.jsdate.getTime())) && this$static.nanos == ts.nanos;
}

function $setNanos(this$static, n){
  if (n < 0 || n > 999999999) {
    throw new IllegalArgumentException_1('nanos out of range ' + n);
  }
  this$static.nanos = n;
  $setTime_0(this$static, add_0(mul(div(fromDouble(this$static.jsdate.getTime()), P3e8_longLit), P3e8_longLit), fromInt(~~(this$static.nanos / 1000000))));
}

function Timestamp_0(time){
  Date_2.call(this, time);
  this.nanos = toInt(mod(time, P3e8_longLit)) * 1000000;
}

function padNine(value){
  var asString, toReturn;
  toReturn = new StringBuffer_1;
  asString = '' + value;
  toReturn = $replace_1(toReturn, 9 - asString.length, asString);
  return toReturn.impl.string;
}

function Timestamp(){
}

_ = Timestamp_0.prototype = Timestamp.prototype = new Date_0;
_.compareTo = function compareTo_15(o){
  return instanceOf(o, Q$Timestamp)?$compareTo_11(this, dynamicCast(o, Q$Timestamp)):$compareTo_11(this, new Timestamp_0(o.getTime_0()));
}
;
_.equals$ = function equals_27(ts){
  return instanceOf(ts, Q$Timestamp) && $equals_3(this, dynamicCast(ts, Q$Timestamp));
}
;
_.getClass$ = function getClass_453(){
  return Ljava_sql_Timestamp_2_classLit;
}
;
_.getTime_0 = function getTime_0(){
  return fromDouble(this.jsdate.getTime());
}
;
_.hashCode$ = function hashCode_29(){
  return $hashCode(this);
}
;
_.toString$ = function toString_38(){
  return '' + (1900 + (this.jsdate.getFullYear() - 1900)) + '-' + padTwo(1 + this.jsdate.getMonth()) + '-' + padTwo(this.jsdate.getDate()) + ' ' + padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds()) + '.' + padNine(this.nanos);
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Timestamp, Q$Date]);
_.nanos = 0;
function $implFindEntry(this$static, key, remove){
  var entry, iter, k;
  for (iter = this$static.entrySet().iterator(); iter.hasNext();) {
    entry = dynamicCast(iter.next_0(), Q$Map$Entry);
    k = entry.getKey();
    if (key == null?k == null:equals__devirtual$(key, k)) {
      remove && iter.remove_2();
      return entry;
    }
  }
  return null;
}

function $keySet(this$static){
  var entrySet;
  entrySet = this$static.entrySet();
  return new AbstractMap$1_0(this$static, entrySet);
}

function AbstractMap(){
}

_ = AbstractMap.prototype = new Object_0;
_.containsKey = function containsKey(key){
  return !!$implFindEntry(this, key, false);
}
;
_.equals$ = function equals_28(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if (obj === this) {
    return true;
  }
  if (!instanceOf(obj, Q$Map)) {
    return false;
  }
  otherMap = dynamicCast(obj, Q$Map);
  if (this.size_0() != otherMap.size_0()) {
    return false;
  }
  for (entry$iterator = otherMap.entrySet().iterator(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), Q$Map$Entry);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!this.containsKey(otherKey)) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, this.get_0(otherKey))) {
      return false;
    }
  }
  return true;
}
;
_.get_0 = function get_2(key){
  var entry;
  entry = $implFindEntry(this, key, false);
  return !entry?null:entry.getValue();
}
;
_.getClass$ = function getClass_454(){
  return Ljava_util_AbstractMap_2_classLit;
}
;
_.hashCode$ = function hashCode_30(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = this.entrySet().iterator(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), Q$Map$Entry);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}
;
_.isEmpty = function isEmpty_3(){
  return this.size_0() == 0;
}
;
_.put = function put(key, value){
  throw new UnsupportedOperationException_1('Put not supported on this map');
}
;
_.remove_3 = function remove_17(key){
  var entry;
  entry = $implFindEntry(this, key, true);
  return !entry?null:entry.getValue();
}
;
_.size_0 = function size_3(){
  return this.entrySet().size_0();
}
;
_.toString$ = function toString_39(){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = this.entrySet().iterator(); iter.hasNext();) {
    entry = dynamicCast(iter.next_0(), Q$Map$Entry);
    comma?(s += ', '):(comma = true);
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue();
  }
  return s + '}';
}
;
_.castableTypeMap$ = makeCastMap([Q$Map]);
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    var hashCodeInt = parseInt(hashCode, 10);
    if (hashCode == hashCodeInt) {
      var array = hashCodeMap[hashCodeInt];
      for (var i = 0, c = array.length; i < c; ++i) {
        dest.add(array[i]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new AbstractHashMap$MapEntryString_0(this$static, key.substring(1));
      dest.add(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size = 0;
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue();
      }
    }
  }
  return null;
}

function $getStringValue(this$static, key){
  return this$static.stringMap[':' + key];
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $putHashValue(this$static, key, value, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue();
        entry.setValue(value);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = new MapEntryImpl_0(key, value);
  array.push(entry);
  ++this$static.size;
  return null;
}

function $putNullSlot(this$static, value){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size;
  }
  return result;
}

function $putStringValue(this$static, key, value){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  key in stringMap?(result = stringMap[key]):++this$static.size;
  stringMap[key] = value;
  return result;
}

function $removeHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        array.length == 1?delete this$static.hashCodeMap[hashCode]:array.splice(i, 1);
        --this$static.size;
        return entry.getValue();
      }
    }
  }
  return null;
}

function $removeNullSlot(this$static){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = null;
  if (this$static.nullSlotLive) {
    this$static.nullSlotLive = false;
    --this$static.size;
  }
  return result;
}

function $removeStringValue(this$static, key){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  if (key in stringMap) {
    result = stringMap[key];
    --this$static.size;
    delete stringMap[key];
  }
  return result;
}

function AbstractHashMap(){
}

_ = AbstractHashMap.prototype = new AbstractMap;
_.clear = function clear(){
  $clearImpl(this);
}
;
_.containsKey = function containsKey_0(key){
  return key == null?this.nullSlotLive:instanceOf(key, Q$String)?':' + dynamicCast(key, Q$String) in this.stringMap:$hasHashValue(this, key, this.getHashCode(key));
}
;
_.entrySet = function entrySet_0(){
  return new AbstractHashMap$EntrySet_0(this);
}
;
_.equalsBridge = function equalsBridge(value1, value2){
  return this.equals(value1, value2);
}
;
_.get_0 = function get_3(key){
  return key == null?this.nullSlot:instanceOf(key, Q$String)?$getStringValue(this, dynamicCast(key, Q$String)):$getHashValue(this, key, this.getHashCode(key));
}
;
_.getClass$ = function getClass_455(){
  return Ljava_util_AbstractHashMap_2_classLit;
}
;
_.put = function put_0(key, value){
  return key == null?$putNullSlot(this, value):instanceOf(key, Q$String)?$putStringValue(this, dynamicCast(key, Q$String), value):$putHashValue(this, key, value, this.getHashCode(key));
}
;
_.remove_3 = function remove_18(key){
  return key == null?$removeNullSlot(this):instanceOf(key, Q$String)?$removeStringValue(this, dynamicCast(key, Q$String)):$removeHashValue(this, key, this.getHashCode(key));
}
;
_.size_0 = function size_4(){
  return this.size;
}
;
_.castableTypeMap$ = makeCastMap([Q$Map]);
_.hashCodeMap = null;
_.nullSlot = null;
_.nullSlotLive = false;
_.size = 0;
_.stringMap = null;
function $contains_0(this$static, o){
  var entry, key, value;
  if (instanceOf(o, Q$Map$Entry)) {
    entry = dynamicCast(o, Q$Map$Entry);
    key = entry.getKey();
    if (this$static.this$0.containsKey(key)) {
      value = this$static.this$0.get_0(key);
      return this$static.this$0.equals(entry.getValue(), value);
    }
  }
  return false;
}

function AbstractHashMap$EntrySet_0(this$0){
  this.this$0 = this$0;
}

function AbstractHashMap$EntrySet(){
}

_ = AbstractHashMap$EntrySet_0.prototype = AbstractHashMap$EntrySet.prototype = new AbstractSet;
_.contains = function contains_3(o){
  return $contains_0(this, o);
}
;
_.getClass$ = function getClass_456(){
  return Ljava_util_AbstractHashMap$EntrySet_2_classLit;
}
;
_.iterator = function iterator_7(){
  return new AbstractHashMap$EntrySetIterator_0(this.this$0);
}
;
_.remove_0 = function remove_19(entry){
  var key;
  if ($contains_0(this, entry)) {
    key = dynamicCast(entry, Q$Map$Entry).getKey();
    this.this$0.remove_3(key);
    return true;
  }
  return false;
}
;
_.size_0 = function size_5(){
  return this.this$0.size_0();
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$Set]);
_.this$0 = null;
function AbstractHashMap$EntrySetIterator_0(this$0){
  var list;
  this.this$0 = this$0;
  list = new ArrayList_0;
  this$0.nullSlotLive && $add_1(list, new AbstractHashMap$MapEntryNull_0(this$0));
  $addAllStringEntries(this$0, list);
  $addAllHashEntries(this$0, list);
  this.iter = new AbstractList$IteratorImpl_0(list);
}

function AbstractHashMap$EntrySetIterator(){
}

_ = AbstractHashMap$EntrySetIterator_0.prototype = AbstractHashMap$EntrySetIterator.prototype = new Object_0;
_.getClass$ = function getClass_457(){
  return Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit;
}
;
_.hasNext = function hasNext_2(){
  return $hasNext(this.iter);
}
;
_.next_0 = function next_3(){
  return this.last = dynamicCast($next_1(this.iter), Q$Map$Entry);
}
;
_.remove_2 = function remove_20(){
  if (!this.last) {
    throw new IllegalStateException_1('Must call next() before remove().');
  }
   else {
    $remove_8(this.iter);
    this.this$0.remove_3(this.last.getKey());
    this.last = null;
  }
}
;
_.iter = null;
_.last = null;
_.this$0 = null;
function AbstractMapEntry(){
}

_ = AbstractMapEntry.prototype = new Object_0;
_.equals$ = function equals_29(other){
  var entry;
  if (instanceOf(other, Q$Map$Entry)) {
    entry = dynamicCast(other, Q$Map$Entry);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue(), entry.getValue())) {
      return true;
    }
  }
  return false;
}
;
_.getClass$ = function getClass_458(){
  return Ljava_util_AbstractMapEntry_2_classLit;
}
;
_.hashCode$ = function hashCode_31(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  this.getKey() != null && (keyHash = hashCode__devirtual$(this.getKey()));
  this.getValue() != null && (valueHash = hashCode__devirtual$(this.getValue()));
  return keyHash ^ valueHash;
}
;
_.toString$ = function toString_40(){
  return this.getKey() + '=' + this.getValue();
}
;
_.castableTypeMap$ = makeCastMap([Q$Map$Entry]);
function AbstractHashMap$MapEntryNull_0(this$0){
  this.this$0 = this$0;
}

function AbstractHashMap$MapEntryNull(){
}

_ = AbstractHashMap$MapEntryNull_0.prototype = AbstractHashMap$MapEntryNull.prototype = new AbstractMapEntry;
_.getClass$ = function getClass_459(){
  return Ljava_util_AbstractHashMap$MapEntryNull_2_classLit;
}
;
_.getKey = function getKey(){
  return null;
}
;
_.getValue = function getValue(){
  return this.this$0.nullSlot;
}
;
_.setValue = function setValue(object){
  return $putNullSlot(this.this$0, object);
}
;
_.castableTypeMap$ = makeCastMap([Q$Map$Entry]);
_.this$0 = null;
function AbstractHashMap$MapEntryString_0(this$0, key){
  this.this$0 = this$0;
  this.key = key;
}

function AbstractHashMap$MapEntryString(){
}

_ = AbstractHashMap$MapEntryString_0.prototype = AbstractHashMap$MapEntryString.prototype = new AbstractMapEntry;
_.getClass$ = function getClass_460(){
  return Ljava_util_AbstractHashMap$MapEntryString_2_classLit;
}
;
_.getKey = function getKey_0(){
  return this.key;
}
;
_.getValue = function getValue_0(){
  return $getStringValue(this.this$0, this.key);
}
;
_.setValue = function setValue_0(object){
  return $putStringValue(this.this$0, this.key, object);
}
;
_.castableTypeMap$ = makeCastMap([Q$Map$Entry]);
_.key = null;
_.this$0 = null;
function $hasNext(this$static){
  return this$static.i < this$static.this$0_0.size_0();
}

function $next_1(this$static){
  if (this$static.i >= this$static.this$0_0.size_0()) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0_0.get(this$static.last = this$static.i++);
}

function $remove_8(this$static){
  if (this$static.last < 0) {
    throw new IllegalStateException_0;
  }
  this$static.this$0_0.remove_1(this$static.last);
  this$static.i = this$static.last;
  this$static.last = -1;
}

function AbstractList$IteratorImpl_0(this$0){
  this.this$0_0 = this$0;
}

function AbstractList$IteratorImpl(){
}

_ = AbstractList$IteratorImpl_0.prototype = AbstractList$IteratorImpl.prototype = new Object_0;
_.getClass$ = function getClass_461(){
  return Ljava_util_AbstractList$IteratorImpl_2_classLit;
}
;
_.hasNext = function hasNext_3(){
  return $hasNext(this);
}
;
_.next_0 = function next_4(){
  return $next_1(this);
}
;
_.remove_2 = function remove_21(){
  $remove_8(this);
}
;
_.i = 0;
_.last = -1;
_.this$0_0 = null;
function AbstractList$ListIteratorImpl_0(this$0, start){
  var size;
  this.this$0 = this$0;
  this.this$0_0 = this$0;
  size = this$0.size_0();
  (start < 0 || start > size) && indexOutOfBounds(start, size);
  this.i = start;
}

function AbstractList$ListIteratorImpl(){
}

_ = AbstractList$ListIteratorImpl_0.prototype = AbstractList$ListIteratorImpl.prototype = new AbstractList$IteratorImpl;
_.getClass$ = function getClass_462(){
  return Ljava_util_AbstractList$ListIteratorImpl_2_classLit;
}
;
_.hasPrevious = function hasPrevious_0(){
  return this.i > 0;
}
;
_.previous = function previous_1(){
  if (this.i <= 0) {
    throw new NoSuchElementException_0;
  }
  return this.this$0.get(this.last = --this.i);
}
;
_.this$0 = null;
function AbstractList$SubList_0(wrapped, fromIndex, toIndex){
  this.wrapped = wrapped;
  this.fromIndex = fromIndex;
  this.size = toIndex - fromIndex;
  if (fromIndex > toIndex) {
    throw new IllegalArgumentException_1('fromIndex: ' + fromIndex + ' > toIndex: ' + toIndex);
  }
  if (fromIndex < 0) {
    throw new IndexOutOfBoundsException_1('fromIndex: ' + fromIndex + ' < 0');
  }
  if (toIndex > wrapped.size_0()) {
    throw new IndexOutOfBoundsException_1('toIndex: ' + toIndex + ' > wrapped.size() ' + wrapped.size_0());
  }
}

function AbstractList$SubList(){
}

_ = AbstractList$SubList_0.prototype = AbstractList$SubList.prototype = new AbstractList;
_.add_0 = function add_11(index, element){
  checkIndex(index, this.size + 1);
  ++this.size;
  this.wrapped.add_0(this.fromIndex + index, element);
}
;
_.get = function get_4(index){
  checkIndex(index, this.size);
  return this.wrapped.get(this.fromIndex + index);
}
;
_.getClass$ = function getClass_463(){
  return Ljava_util_AbstractList$SubList_2_classLit;
}
;
_.remove_1 = function remove_22(index){
  var result;
  checkIndex(index, this.size);
  result = this.wrapped.remove_1(this.fromIndex + index);
  --this.size;
  return result;
}
;
_.size_0 = function size_6(){
  return this.size;
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$List]);
_.fromIndex = 0;
_.size = 0;
_.wrapped = null;
function $iterator(this$static){
  var outerIter;
  outerIter = this$static.val$entrySet.iterator();
  return new AbstractMap$1$1_0(outerIter);
}

function AbstractMap$1_0(this$0, val$entrySet){
  this.this$0 = this$0;
  this.val$entrySet = val$entrySet;
}

function AbstractMap$1(){
}

_ = AbstractMap$1_0.prototype = AbstractMap$1.prototype = new AbstractSet;
_.contains = function contains_4(key){
  return this.this$0.containsKey(key);
}
;
_.getClass$ = function getClass_464(){
  return Ljava_util_AbstractMap$1_2_classLit;
}
;
_.iterator = function iterator_8(){
  return $iterator(this);
}
;
_.size_0 = function size_7(){
  return this.val$entrySet.size_0();
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$Set]);
_.this$0 = null;
_.val$entrySet = null;
function $next_2(this$static){
  var entry;
  entry = dynamicCast(this$static.val$outerIter.next_0(), Q$Map$Entry);
  return entry.getKey();
}

function AbstractMap$1$1_0(val$outerIter){
  this.val$outerIter = val$outerIter;
}

function AbstractMap$1$1(){
}

_ = AbstractMap$1$1_0.prototype = AbstractMap$1$1.prototype = new Object_0;
_.getClass$ = function getClass_465(){
  return Ljava_util_AbstractMap$1$1_2_classLit;
}
;
_.hasNext = function hasNext_4(){
  return this.val$outerIter.hasNext();
}
;
_.next_0 = function next_5(){
  return $next_2(this);
}
;
_.remove_2 = function remove_23(){
  this.val$outerIter.remove_2();
}
;
_.val$outerIter = null;
function AbstractSequentialList(){
}

_ = AbstractSequentialList.prototype = new AbstractList;
_.add_0 = function add_12(index, element){
  var iter;
  iter = $listIterator(this, index);
  $addBefore(iter.this$0, element, iter.currentNode);
  ++iter.currentIndex;
  iter.lastNode = null;
}
;
_.get = function get_5(index){
  var $e0, iter;
  iter = $listIterator(this, index);
  try {
    return $next_4(iter);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$NoSuchElementException)) {
      throw new IndexOutOfBoundsException_1("Can't get element " + index);
    }
     else 
      throw $e0;
  }
}
;
_.getClass$ = function getClass_466(){
  return Ljava_util_AbstractSequentialList_2_classLit;
}
;
_.iterator = function iterator_9(){
  return $listIterator(this, 0);
}
;
_.remove_1 = function remove_24(index){
  var $e0, iter, old;
  iter = $listIterator(this, index);
  try {
    old = $next_4(iter);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$NoSuchElementException)) {
      throw new IndexOutOfBoundsException_1("Can't remove element " + index);
    }
     else 
      throw $e0;
  }
  $remove_10(iter);
  return old;
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$List]);
function Arrays$ArrayList_0(array){
  this.array = array;
}

function Arrays$ArrayList(){
}

_ = Arrays$ArrayList_0.prototype = Arrays$ArrayList.prototype = new AbstractList;
_.contains = function contains_5(o){
  return $indexOf(this, o) != -1;
}
;
_.get = function get_6(index){
  checkIndex(index, this.array.length);
  return this.array[index];
}
;
_.getClass$ = function getClass_467(){
  return Ljava_util_Arrays$ArrayList_2_classLit;
}
;
_.size_0 = function size_8(){
  return this.array.length;
}
;
_.toArray = function toArray_5(){
  return clone(this.array);
}
;
_.toArray_0 = function toArray_6(out){
  var i, size;
  size = this.array.length;
  out.length < size && (out = createFrom(out, size));
  for (i = 0; i < size; ++i) {
    setCheck(out, i, this.array[i]);
  }
  out.length > size && setCheck(out, size, null);
  return out;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
_.array = null;
function $clinit_Collections(){
  $clinit_Collections = nullMethod;
  EMPTY_LIST = new Collections$EmptyList_0;
  EMPTY_MAP = new Collections$EmptyMap_0;
  EMPTY_SET = new Collections$EmptySet_0;
}

function unmodifiableList(list){
  $clinit_Collections();
  return list?new Collections$UnmodifiableRandomAccessList_0(list):new Collections$UnmodifiableList_0(null);
}

var EMPTY_LIST, EMPTY_MAP, EMPTY_SET;
function Collections$EmptyList_0(){
}

function Collections$EmptyList(){
}

_ = Collections$EmptyList_0.prototype = Collections$EmptyList.prototype = new AbstractList;
_.contains = function contains_6(object){
  return false;
}
;
_.get = function get_7(location_0){
  throw new IndexOutOfBoundsException_0;
}
;
_.getClass$ = function getClass_468(){
  return Ljava_util_Collections$EmptyList_2_classLit;
}
;
_.size_0 = function size_9(){
  return 0;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function Collections$EmptyMap_0(){
}

function Collections$EmptyMap(){
}

_ = Collections$EmptyMap_0.prototype = Collections$EmptyMap.prototype = new AbstractMap;
_.containsKey = function containsKey_1(key){
  return false;
}
;
_.entrySet = function entrySet_1(){
  return $clinit_Collections() , EMPTY_SET;
}
;
_.get_0 = function get_8(key){
  return null;
}
;
_.getClass$ = function getClass_469(){
  return Ljava_util_Collections$EmptyMap_2_classLit;
}
;
_.size_0 = function size_10(){
  return 0;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Map]);
function Collections$EmptySet_0(){
}

function Collections$EmptySet(){
}

_ = Collections$EmptySet_0.prototype = Collections$EmptySet.prototype = new AbstractSet;
_.contains = function contains_7(object){
  return false;
}
;
_.getClass$ = function getClass_470(){
  return Ljava_util_Collections$EmptySet_2_classLit;
}
;
_.iterator = function iterator_10(){
  return new Collections$EmptySet$1_0;
}
;
_.size_0 = function size_11(){
  return 0;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$Set]);
function Collections$EmptySet$1_0(){
}

function Collections$EmptySet$1(){
}

_ = Collections$EmptySet$1_0.prototype = Collections$EmptySet$1.prototype = new Object_0;
_.getClass$ = function getClass_471(){
  return Ljava_util_Collections$EmptySet$1_2_classLit;
}
;
_.hasNext = function hasNext_5(){
  return false;
}
;
_.next_0 = function next_6(){
  throw new NoSuchElementException_0;
}
;
_.remove_2 = function remove_25(){
  throw new UnsupportedOperationException_0;
}
;
function Collections$SingletonList_0(element){
  this.element = element;
}

function Collections$SingletonList(){
}

_ = Collections$SingletonList_0.prototype = Collections$SingletonList.prototype = new AbstractList;
_.contains = function contains_8(item){
  return equalsWithNullCheck(this.element, item);
}
;
_.get = function get_9(index){
  if (index == 0) {
    return this.element;
  }
   else {
    throw new IndexOutOfBoundsException_0;
  }
}
;
_.getClass$ = function getClass_472(){
  return Ljava_util_Collections$SingletonList_2_classLit;
}
;
_.size_0 = function size_12(){
  return 1;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
_.element = null;
function Collections$UnmodifiableCollection(){
}

_ = Collections$UnmodifiableCollection.prototype = new Object_0;
_.add = function add_13(o){
  throw new UnsupportedOperationException_0;
}
;
_.addAll = function addAll_2(c){
  throw new UnsupportedOperationException_0;
}
;
_.contains = function contains_9(o){
  return this.coll.contains(o);
}
;
_.getClass$ = function getClass_473(){
  return Ljava_util_Collections$UnmodifiableCollection_2_classLit;
}
;
_.iterator = function iterator_11(){
  return new Collections$UnmodifiableCollectionIterator_0(this.coll.iterator());
}
;
_.remove_0 = function remove_26(o){
  throw new UnsupportedOperationException_0;
}
;
_.size_0 = function size_13(){
  return this.coll.size_0();
}
;
_.toArray = function toArray_7(){
  return this.coll.toArray();
}
;
_.toArray_0 = function toArray_8(a){
  return this.coll.toArray_0(a);
}
;
_.toString$ = function toString_41(){
  return this.coll.toString$();
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection]);
_.coll = null;
function Collections$UnmodifiableCollectionIterator_0(it){
  this.it = it;
}

function Collections$UnmodifiableCollectionIterator(){
}

_ = Collections$UnmodifiableCollectionIterator_0.prototype = Collections$UnmodifiableCollectionIterator.prototype = new Object_0;
_.getClass$ = function getClass_474(){
  return Ljava_util_Collections$UnmodifiableCollectionIterator_2_classLit;
}
;
_.hasNext = function hasNext_6(){
  return this.it.hasNext();
}
;
_.next_0 = function next_7(){
  return this.it.next_0();
}
;
_.remove_2 = function remove_27(){
  throw new UnsupportedOperationException_0;
}
;
_.it = null;
function Collections$UnmodifiableList_0(list){
  this.coll = list;
  this.list = list;
}

function Collections$UnmodifiableList(){
}

_ = Collections$UnmodifiableList_0.prototype = Collections$UnmodifiableList.prototype = new Collections$UnmodifiableCollection;
_.equals$ = function equals_30(o){
  return this.list.equals$(o);
}
;
_.get = function get_10(index){
  return this.list.get(index);
}
;
_.getClass$ = function getClass_475(){
  return Ljava_util_Collections$UnmodifiableList_2_classLit;
}
;
_.hashCode$ = function hashCode_32(){
  return this.list.hashCode$();
}
;
_.indexOf_0 = function indexOf_2(o){
  return this.list.indexOf_0(o);
}
;
_.isEmpty = function isEmpty_4(){
  return this.list.isEmpty();
}
;
_.listIterator = function listIterator_3(){
  return new Collections$UnmodifiableListIterator_0(this.list.listIterator_0(0));
}
;
_.listIterator_0 = function listIterator_4(from){
  return new Collections$UnmodifiableListIterator_0(this.list.listIterator_0(from));
}
;
_.remove_1 = function remove_28(index){
  throw new UnsupportedOperationException_0;
}
;
_.subList = function subList_1(fromIndex, toIndex){
  return new Collections$UnmodifiableList_0(this.list.subList(fromIndex, toIndex));
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$List]);
_.list = null;
function Collections$UnmodifiableListIterator_0(lit){
  this.it = lit;
  this.lit = lit;
}

function Collections$UnmodifiableListIterator(){
}

_ = Collections$UnmodifiableListIterator_0.prototype = Collections$UnmodifiableListIterator.prototype = new Collections$UnmodifiableCollectionIterator;
_.getClass$ = function getClass_476(){
  return Ljava_util_Collections$UnmodifiableListIterator_2_classLit;
}
;
_.hasPrevious = function hasPrevious_1(){
  return this.lit.hasPrevious();
}
;
_.previous = function previous_2(){
  return this.lit.previous();
}
;
_.lit = null;
function Collections$UnmodifiableRandomAccessList_0(list){
  Collections$UnmodifiableList_0.call(this, list);
}

function Collections$UnmodifiableRandomAccessList(){
}

_ = Collections$UnmodifiableRandomAccessList_0.prototype = Collections$UnmodifiableRandomAccessList.prototype = new Collections$UnmodifiableList;
_.getClass$ = function getClass_477(){
  return Ljava_util_Collections$UnmodifiableRandomAccessList_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$List]);
function Collections$UnmodifiableSet_0(set){
  this.coll = set;
}

function Collections$UnmodifiableSet(){
}

_ = Collections$UnmodifiableSet_0.prototype = Collections$UnmodifiableSet.prototype = new Collections$UnmodifiableCollection;
_.equals$ = function equals_31(o){
  return this.coll.equals$(o);
}
;
--></script>
<script><!--
_.getClass$ = function getClass_478(){
  return Ljava_util_Collections$UnmodifiableSet_2_classLit;
}
;
_.hashCode$ = function hashCode_33(){
  return this.coll.hashCode$();
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$Set]);
function ConcurrentModificationException_0(){
  $fillInStackTrace();
}

function ConcurrentModificationException(){
}

_ = ConcurrentModificationException_0.prototype = ConcurrentModificationException.prototype = new RuntimeException;
_.getClass$ = function getClass_479(){
  return Ljava_util_ConcurrentModificationException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function $clinit_Date$StringData(){
  $clinit_Date$StringData = nullMethod;
  DAYS = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']);
  MONTHS = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);
}

var DAYS, MONTHS;
function EmptyStackException_0(){
  $fillInStackTrace();
}

function EmptyStackException(){
}

_ = EmptyStackException_0.prototype = EmptyStackException.prototype = new RuntimeException;
_.getClass$ = function getClass_480(){
  return Ljava_util_EmptyStackException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function HashMap_0(){
  $clearImpl(this);
}

function HashMap(){
}

_ = HashMap_0.prototype = HashMap.prototype = new AbstractHashMap;
_.equals = function equals_32(value1, value2){
  return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals__devirtual$(value1, value2);
}
;
_.getClass$ = function getClass_481(){
  return Ljava_util_HashMap_2_classLit;
}
;
_.getHashCode = function getHashCode_1(key){
  return ~~hashCode__devirtual$(key);
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Map]);
function IdentityHashMap_0(){
  $clearImpl(this);
}

function IdentityHashMap(){
}

_ = IdentityHashMap_0.prototype = IdentityHashMap.prototype = new AbstractHashMap;
_.equals$ = function equals_33(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if (obj === this) {
    return true;
  }
  if (!instanceOf(obj, Q$Map)) {
    return false;
  }
  otherMap = dynamicCast(obj, Q$Map);
  if (this.size != otherMap.size_0()) {
    return false;
  }
  for (entry$iterator = otherMap.entrySet().iterator(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), Q$Map$Entry);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!(otherKey == null?this.nullSlotLive:instanceOf(otherKey, Q$String)?':' + dynamicCast(otherKey, Q$String) in this.stringMap:$hasHashValue(this, otherKey, getHashCode(otherKey)))) {
      return false;
    }
    if (maskUndefined(otherValue) !== maskUndefined(otherKey == null?this.nullSlot:instanceOf(otherKey, Q$String)?$getStringValue(this, dynamicCast(otherKey, Q$String)):$getHashValue(this, otherKey, getHashCode(otherKey)))) {
      return false;
    }
  }
  return true;
}
;
_.equals = function equals_34(value1, value2){
  return maskUndefined(value1) === maskUndefined(value2);
}
;
_.getClass$ = function getClass_482(){
  return Ljava_util_IdentityHashMap_2_classLit;
}
;
_.getHashCode = function getHashCode_2(key){
  return getHashCode(key);
}
;
_.hashCode$ = function hashCode_34(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = new AbstractHashMap$EntrySetIterator_0((new AbstractHashMap$EntrySet_0(this)).this$0); $hasNext(entry$iterator.iter);) {
    entry = entry$iterator.last = dynamicCast($next_1(entry$iterator.iter), Q$Map$Entry);
    hashCode += identityHashCode(entry.getKey());
    hashCode += identityHashCode(entry.getValue());
  }
  return hashCode;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Map]);
function $$init_1(this$static){
  this$static.head = new LinkedHashMap$ChainEntry_0(this$static);
  this$static.map = new HashMap_0;
  this$static.head.prev = this$static.head;
  this$static.head.next = this$static.head;
}

function $containsKey(this$static, key){
  return this$static.map.containsKey(key);
}

function $get_2(this$static, key){
  var entry;
  entry = dynamicCast(this$static.map.get_0(key), Q$LinkedHashMap$ChainEntry);
  if (entry) {
    $recordAccess(this$static, entry);
    return entry.value;
  }
  return null;
}

function $recordAccess(this$static, entry){
  if (this$static.accessOrder) {
    $remove_9(entry);
    $addToEnd(entry);
  }
}

function LinkedHashMap_0(){
  $clearImpl(this);
  $$init_1(this);
}

function LinkedHashMap_1(accessOrder){
  $clearImpl(this);
  $$init_1(this);
  this.accessOrder = accessOrder;
}

function LinkedHashMap(){
}

_ = LinkedHashMap_1.prototype = LinkedHashMap_0.prototype = LinkedHashMap.prototype = new HashMap;
_.clear = function clear_0(){
  this.map.clear();
  this.head.prev = this.head;
  this.head.next = this.head;
}
;
_.containsKey = function containsKey_2(key){
  return this.map.containsKey(key);
}
;
_.entrySet = function entrySet_2(){
  return new LinkedHashMap$EntrySet_0(this);
}
;
_.get_0 = function get_11(key){
  return $get_2(this, key);
}
;
_.getClass$ = function getClass_483(){
  return Ljava_util_LinkedHashMap_2_classLit;
}
;
_.put = function put_1(key, value){
  var newEntry, old, oldValue;
  old = dynamicCast(this.map.get_0(key), Q$LinkedHashMap$ChainEntry);
  if (!old) {
    newEntry = new LinkedHashMap$ChainEntry_1(this, key, value);
    this.map.put(key, newEntry);
    $addToEnd(newEntry);
    return null;
  }
   else {
    oldValue = old.value;
    $setValue(old, value);
    $recordAccess(this, old);
    return oldValue;
  }
}
;
_.remove_3 = function remove_29(key){
  var entry;
  entry = dynamicCast(this.map.remove_3(key), Q$LinkedHashMap$ChainEntry);
  if (entry) {
    $remove_9(entry);
    return entry.value;
  }
  return null;
}
;
_.size_0 = function size_14(){
  return this.map.size_0();
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Map]);
_.accessOrder = false;
function $setValue(this$static, value){
  var old;
  old = this$static.value;
  this$static.value = value;
  return old;
}

function MapEntryImpl_0(key, value){
  this.key = key;
  this.value = value;
}

function MapEntryImpl(){
}

_ = MapEntryImpl_0.prototype = MapEntryImpl.prototype = new AbstractMapEntry;
_.getClass$ = function getClass_484(){
  return Ljava_util_MapEntryImpl_2_classLit;
}
;
_.getKey = function getKey_1(){
  return this.key;
}
;
_.getValue = function getValue_1(){
  return this.value;
}
;
_.setValue = function setValue_1(value){
  return $setValue(this, value);
}
;
_.castableTypeMap$ = makeCastMap([Q$Map$Entry]);
_.key = null;
_.value = null;
function $addToEnd(this$static){
  var tail;
  tail = this$static.this$0.head.prev;
  this$static.prev = tail;
  this$static.next = this$static.this$0.head;
  tail.next = this$static.this$0.head.prev = this$static;
}

function $remove_9(this$static){
  this$static.next.prev = this$static.prev;
  this$static.prev.next = this$static.next;
  this$static.next = this$static.prev = null;
}

function LinkedHashMap$ChainEntry_0(this$0){
  LinkedHashMap$ChainEntry_1.call(this, this$0, null, null);
}

function LinkedHashMap$ChainEntry_1(this$0, key, value){
  this.this$0 = this$0;
  MapEntryImpl_0.call(this, key, value);
  this.next = this.prev = null;
}

function LinkedHashMap$ChainEntry(){
}

_ = LinkedHashMap$ChainEntry_1.prototype = LinkedHashMap$ChainEntry_0.prototype = LinkedHashMap$ChainEntry.prototype = new MapEntryImpl;
_.getClass$ = function getClass_485(){
  return Ljava_util_LinkedHashMap$ChainEntry_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$LinkedHashMap$ChainEntry, Q$Map$Entry]);
_.next = null;
_.prev = null;
_.this$0 = null;
function LinkedHashMap$EntrySet_0(this$0){
  this.this$0 = this$0;
}

function LinkedHashMap$EntrySet(){
}

_ = LinkedHashMap$EntrySet_0.prototype = LinkedHashMap$EntrySet.prototype = new AbstractSet;
_.contains = function contains_10(o){
  var entry, key, value;
  if (!instanceOf(o, Q$Map$Entry)) {
    return false;
  }
  entry = dynamicCast(o, Q$Map$Entry);
  key = entry.getKey();
  if ($containsKey(this.this$0, key)) {
    value = $get_2(this.this$0, key);
    return equalsWithNullCheck(entry.getValue(), value);
  }
  return false;
}
;
_.getClass$ = function getClass_486(){
  return Ljava_util_LinkedHashMap$EntrySet_2_classLit;
}
;
_.iterator = function iterator_12(){
  return new LinkedHashMap$EntrySet$EntryIterator_0(this);
}
;
_.size_0 = function size_15(){
  return this.this$0.map.size_0();
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$Set]);
_.this$0 = null;
function $next_3(this$static){
  if (this$static.next == this$static.this$1.this$0.head) {
    throw new NoSuchElementException_0;
  }
  this$static.last = this$static.next;
  this$static.next = this$static.next.next;
  return this$static.last;
}

function LinkedHashMap$EntrySet$EntryIterator_0(this$1){
  this.this$1 = this$1;
  this.next = this$1.this$0.head.next;
}

function LinkedHashMap$EntrySet$EntryIterator(){
}

_ = LinkedHashMap$EntrySet$EntryIterator_0.prototype = LinkedHashMap$EntrySet$EntryIterator.prototype = new Object_0;
_.getClass$ = function getClass_487(){
  return Ljava_util_LinkedHashMap$EntrySet$EntryIterator_2_classLit;
}
;
_.hasNext = function hasNext_7(){
  return this.next != this.this$1.this$0.head;
}
;
_.next_0 = function next_8(){
  return $next_3(this);
}
;
_.remove_2 = function remove_30(){
  if (!this.last) {
    throw new IllegalStateException_1('No current entry');
  }
  $remove_9(this.last);
  this.this$1.this$0.map.remove_3(this.last.key);
  this.last = null;
}
;
_.last = null;
_.next = null;
_.this$1 = null;
function LinkedHashSet_0(){
  HashSet_1.call(this, new LinkedHashMap_0);
}

function LinkedHashSet(){
}

_ = LinkedHashSet_0.prototype = LinkedHashSet.prototype = new HashSet;
_.getClass$ = function getClass_488(){
  return Ljava_util_LinkedHashSet_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$Set]);
function $addBefore(this$static, o, target){
  new LinkedList$Node_1(o, target);
  ++this$static.size;
}

function $listIterator(this$static, index){
  var i, node;
  (index < 0 || index > this$static.size) && indexOutOfBounds(index, this$static.size);
  if (index >= ~~this$static.size >> 1) {
    node = this$static.header;
    for (i = this$static.size; i > index; --i) {
      node = node.prev;
    }
  }
   else {
    node = this$static.header.next;
    for (i = 0; i < index; ++i) {
      node = node.next;
    }
  }
  return new LinkedList$ListIteratorImpl_0(this$static, index, node);
}

function LinkedList_0(){
  this.header = new LinkedList$Node_0;
  this.size = 0;
}

function LinkedList(){
}

_ = LinkedList_0.prototype = LinkedList.prototype = new AbstractSequentialList;
_.add = function add_14(o){
  new LinkedList$Node_1(o, this.header);
  ++this.size;
  return true;
}
;
_.getClass$ = function getClass_489(){
  return Ljava_util_LinkedList_2_classLit;
}
;
_.listIterator_0 = function listIterator_5(index){
  return $listIterator(this, index);
}
;
_.size_0 = function size_16(){
  return this.size;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
_.header = null;
_.size = 0;
function $next_4(this$static){
  if (this$static.currentNode == this$static.this$0.header) {
    throw new NoSuchElementException_0;
  }
  this$static.lastNode = this$static.currentNode;
  this$static.currentNode = this$static.currentNode.next;
  ++this$static.currentIndex;
  return this$static.lastNode.value;
}

function $remove_10(this$static){
  $verifyCurrentElement(this$static);
  this$static.currentNode == this$static.lastNode?(this$static.currentNode = this$static.lastNode.next):--this$static.currentIndex;
  $remove_11(this$static.lastNode);
  this$static.lastNode = null;
  --this$static.this$0.size;
}

function $verifyCurrentElement(this$static){
  if (!this$static.lastNode) {
    throw new IllegalStateException_0;
  }
}

function LinkedList$ListIteratorImpl_0(this$0, index, startNode){
  this.this$0 = this$0;
  this.currentNode = startNode;
  this.currentIndex = index;
}

function LinkedList$ListIteratorImpl(){
}

_ = LinkedList$ListIteratorImpl_0.prototype = LinkedList$ListIteratorImpl.prototype = new Object_0;
_.getClass$ = function getClass_490(){
  return Ljava_util_LinkedList$ListIteratorImpl_2_classLit;
}
;
_.hasNext = function hasNext_8(){
  return this.currentNode != this.this$0.header;
}
;
_.hasPrevious = function hasPrevious_2(){
  return this.currentNode.prev != this.this$0.header;
}
;
_.next_0 = function next_9(){
  return $next_4(this);
}
;
_.previous = function previous_3(){
  if (this.currentNode.prev == this.this$0.header) {
    throw new NoSuchElementException_0;
  }
  this.lastNode = this.currentNode = this.currentNode.prev;
  --this.currentIndex;
  return this.lastNode.value;
}
;
_.remove_2 = function remove_31(){
  $remove_10(this);
}
;
_.currentIndex = 0;
_.currentNode = null;
_.lastNode = null;
_.this$0 = null;
function $remove_11(this$static){
  this$static.next.prev = this$static.prev;
  this$static.prev.next = this$static.next;
  this$static.next = this$static.prev = this$static;
}

function LinkedList$Node_0(){
  this.next = this.prev = this;
}

function LinkedList$Node_1(value, nextNode){
  this.value = value;
  this.next = nextNode;
  this.prev = nextNode.prev;
  nextNode.prev.next = this;
  nextNode.prev = this;
}

function LinkedList$Node(){
}

_ = LinkedList$Node_1.prototype = LinkedList$Node_0.prototype = LinkedList$Node.prototype = new Object_0;
_.getClass$ = function getClass_491(){
  return Ljava_util_LinkedList$Node_2_classLit;
}
;
_.next = null;
_.prev = null;
_.value = null;
function NoSuchElementException_0(){
  $fillInStackTrace();
}

function NoSuchElementException(){
}

_ = NoSuchElementException_0.prototype = NoSuchElementException.prototype = new RuntimeException;
_.getClass$ = function getClass_492(){
  return Ljava_util_NoSuchElementException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable, Q$NoSuchElementException]);
function Vector_0(){
  this.arrayList = new ArrayList_0;
}

function Vector(){
}

_ = Vector_0.prototype = Vector.prototype = new AbstractList;
_.add = function add_15(o){
  return $add_1(this.arrayList, o);
}
;
_.add_0 = function add_16(index, o){
  $add_2(this.arrayList, index, o);
}
;
_.addAll = function addAll_3(c){
  return $addAll(this.arrayList, c);
}
;
_.contains = function contains_11(elem){
  return $indexOf_0(this.arrayList, elem, 0) != -1;
}
;
_.get = function get_12(index){
  return $get(this.arrayList, index);
}
;
_.getClass$ = function getClass_493(){
  return Ljava_util_Vector_2_classLit;
}
;
_.indexOf_0 = function indexOf_3(elem){
  return $indexOf_0(this.arrayList, elem, 0);
}
;
_.isEmpty = function isEmpty_5(){
  return this.arrayList.size == 0;
}
;
_.iterator = function iterator_13(){
  return new AbstractList$IteratorImpl_0(this.arrayList);
}
;
_.remove_1 = function remove_32(index){
  return $remove_1(this.arrayList, index);
}
;
_.size_0 = function size_17(){
  return this.arrayList.size;
}
;
_.subList = function subList_2(fromIndex, toIndex){
  return new AbstractList$SubList_0(this.arrayList, fromIndex, toIndex);
}
;
_.toArray = function toArray_9(){
  return $toArray(this.arrayList);
}
;
_.toArray_0 = function toArray_10(a){
  return $toArray_0(this.arrayList, a);
}
;
_.toString$ = function toString_42(){
  return $toString_0(this.arrayList);
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
_.arrayList = null;
function Stack_0(){
  Vector_0.call(this);
}

function Stack(){
}

_ = Stack_0.prototype = Stack.prototype = new Vector;
_.getClass$ = function getClass_494(){
  return Ljava_util_Stack_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$List]);
function TooManyListenersException_0(){
  $fillInStackTrace();
}

function TooManyListenersException(){
}

_ = TooManyListenersException_0.prototype = TooManyListenersException.prototype = new Exception;
_.getClass$ = function getClass_495(){
  return Ljava_util_TooManyListenersException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Throwable]);
function $getEntry(this$static, key){
  var c, tree;
  tree = this$static.root;
  while (tree) {
    c = $compare_0(key, tree.key);
    if (c == 0) {
      return tree;
    }
    c < 0?(tree = tree.child[0]):(tree = tree.child[1]);
  }
  return null;
}

function $insert_1(this$static, tree, newNode, state){
  var c, childNum;
  if (!tree) {
    return newNode;
  }
   else {
    c = $compare_0(tree.key, newNode.key);
    if (c == 0) {
      state.value = tree.value;
      state.found = true;
      tree.value = newNode.value;
      return tree;
    }
    childNum = c > 0?0:1;
    tree.child[childNum] = $insert_1(this$static, tree.child[childNum], newNode, state);
    if ($isRed(tree.child[childNum])) {
      if ($isRed(tree.child[1 - childNum])) {
        tree.isRed = true;
        tree.child[0].isRed = false;
        tree.child[1].isRed = false;
      }
       else {
        $isRed(tree.child[childNum].child[childNum])?(tree = $rotateSingle(tree, 1 - childNum)):$isRed(tree.child[childNum].child[1 - childNum]) && (tree = (tree.child[1 - (1 - childNum)] = $rotateSingle(tree.child[1 - (1 - childNum)], 1 - (1 - childNum)) , $rotateSingle(tree, 1 - childNum)));
      }
    }
  }
  return tree;
}

function $isRed(node){
  return !!node && node.isRed;
}

function $put(this$static, key, value){
  var node, state;
  node = new TreeMap$Node_0(key, value);
  state = new TreeMap$State_0;
  this$static.root = $insert_1(this$static, this$static.root, node, state);
  state.found || ++this$static.size;
  this$static.root.isRed = false;
  return state.value;
}

function $remove_12(this$static, keyObj){
  var state;
  state = new TreeMap$State_0;
  $removeWithState(this$static, keyObj, state);
  return state.value;
}

function $removeWithState(this$static, key, state){
  var c, dir, dir2, found, grandparent, head, last, newNode, node, parent_0, sibling;
  if (!this$static.root) {
    return false;
  }
  found = null;
  parent_0 = null;
  head = new TreeMap$Node_0(null, null);
  dir = 1;
  head.child[1] = this$static.root;
  node = head;
  while (node.child[dir]) {
    last = dir;
    grandparent = parent_0;
    parent_0 = node;
    node = node.child[dir];
    c = $compare_0(node.key, key);
    dir = c < 0?1:0;
    c == 0 && (!state.matchValue || equals__devirtual$(node.value, state.value)) && (found = node);
    if (!(!!node && node.isRed) && !$isRed(node.child[dir])) {
      if ($isRed(node.child[1 - dir])) {
        parent_0 = parent_0.child[last] = $rotateSingle(node, dir);
      }
       else if (!$isRed(node.child[1 - dir])) {
        sibling = parent_0.child[1 - last];
        if (sibling) {
          if (!$isRed(sibling.child[1 - last]) && !$isRed(sibling.child[last])) {
            parent_0.isRed = false;
            sibling.isRed = true;
            node.isRed = true;
          }
           else {
            dir2 = grandparent.child[1] == parent_0?1:0;
            $isRed(sibling.child[last])?(grandparent.child[dir2] = (parent_0.child[1 - last] = $rotateSingle(parent_0.child[1 - last], 1 - last) , $rotateSingle(parent_0, last))):$isRed(sibling.child[1 - last]) && (grandparent.child[dir2] = $rotateSingle(parent_0, last));
            node.isRed = grandparent.child[dir2].isRed = true;
            grandparent.child[dir2].child[0].isRed = false;
            grandparent.child[dir2].child[1].isRed = false;
          }
        }
      }
    }
  }
  if (found) {
    state.found = true;
    state.value = found.value;
    if (node != found) {
      newNode = new TreeMap$Node_0(node.key, node.value);
      $replaceNode_0(head, found, newNode);
      parent_0 == found && (parent_0 = newNode);
    }
    parent_0.child[parent_0.child[1] == node?1:0] = node.child[!node.child[0]?1:0];
    --this$static.size;
  }
  this$static.root = head.child[1];
  !!this$static.root && (this$static.root.isRed = false);
  return state.found;
}

function $replaceNode_0(head, node, newNode){
  var direction, parent_0;
  parent_0 = head;
  direction = parent_0.key == null || $compare_0(node.key, parent_0.key) > 0?1:0;
  while (parent_0.child[direction] != node) {
    parent_0 = parent_0.child[direction];
    direction = $compare_0(node.key, parent_0.key) > 0?1:0;
  }
  parent_0.child[direction] = newNode;
  newNode.isRed = node.isRed;
  newNode.child[0] = node.child[0];
  newNode.child[1] = node.child[1];
  node.child[0] = null;
  node.child[1] = null;
}

function $rotateSingle(tree, rotateDirection){
  var save;
  save = tree.child[1 - rotateDirection];
  tree.child[1 - rotateDirection] = save.child[rotateDirection];
  save.child[rotateDirection] = tree;
  tree.isRed = true;
  save.isRed = false;
  return save;
}

function TreeMap_0(){
  TreeMap_1.call(this);
}

function TreeMap_1(){
  this.root = null;
}

function TreeMap(){
}

_ = TreeMap_1.prototype = TreeMap_0.prototype = TreeMap.prototype = new AbstractMap;
_.containsKey = function containsKey_3(key){
  return !!$getEntry(this, key);
}
;
_.entrySet = function entrySet_3(){
  return new TreeMap$EntrySet_0(this);
}
;
_.get_0 = function get_13(k){
  var entry;
  entry = $getEntry(this, k);
  return entry?entry.value:null;
}
;
_.getClass$ = function getClass_496(){
  return Ljava_util_TreeMap_2_classLit;
}
;
_.put = function put_2(key, value){
  return $put(this, key, value);
}
;
_.remove_3 = function remove_33(keyObj){
  return $remove_12(this, keyObj);
}
;
_.size_0 = function size_18(){
  return this.size;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Map]);
_.root = null;
_.size = 0;
function $compare(a, b){
  if (a == null || b == null) {
    throw new NullPointerException_0;
  }
  return a.compareTo$(b);
}

function $compare_0(a, b){
  return $compare(dynamicCast(a, Q$Comparable), dynamicCast(b, Q$Comparable));
}

function $inOrderAdd(this$static, list, type, current, fromKey, toKey){
  if (!current) {
    return;
  }
  !!current.child[0] && $inOrderAdd(this$static, list, type, current.child[0], fromKey, toKey);
  $inRange(type, current.key, fromKey, toKey) && list.add(current);
  !!current.child[1] && $inOrderAdd(this$static, list, type, current.child[1], fromKey, toKey);
}

function $inRange(type, key, fromKey, toKey){
  if (type.toKeyValid()) {
    if ($compare(dynamicCast(key, Q$Comparable), dynamicCast(toKey, Q$Comparable)) >= 0) {
      return false;
    }
  }
  if (type.fromKeyValid()) {
    if ($compare(dynamicCast(key, Q$Comparable), dynamicCast(fromKey, Q$Comparable)) < 0) {
      return false;
    }
  }
  return true;
}

function TreeMap$EntryIterator_0(this$0){
  TreeMap$EntryIterator_1.call(this, this$0, ($clinit_TreeMap$SubMapType() , All));
}

function TreeMap$EntryIterator_1(this$0, type){
  var list;
  this.this$0 = this$0;
  list = new ArrayList_0;
  $inOrderAdd(this, list, type, this$0.root, null, null);
  this.iter = new AbstractList$IteratorImpl_0(list);
}

function TreeMap$EntryIterator(){
}

_ = TreeMap$EntryIterator_0.prototype = TreeMap$EntryIterator.prototype = new Object_0;
_.getClass$ = function getClass_497(){
  return Ljava_util_TreeMap$EntryIterator_2_classLit;
}
;
_.hasNext = function hasNext_9(){
  return $hasNext(this.iter);
}
;
_.next_0 = function next_10(){
  return this.last = dynamicCast($next_1(this.iter), Q$Map$Entry);
}
;
_.remove_2 = function remove_34(){
  $remove_8(this.iter);
  $remove_12(this.this$0, this.last.getKey());
}
;
_.iter = null;
_.last = null;
_.this$0 = null;
function TreeMap$EntrySet_0(this$0){
  this.this$0 = this$0;
}

function TreeMap$EntrySet(){
}

_ = TreeMap$EntrySet_0.prototype = TreeMap$EntrySet.prototype = new AbstractSet;
_.contains = function contains_12(o){
  var entry, lookupEntry;
  if (!instanceOf(o, Q$Map$Entry)) {
    return false;
  }
  entry = dynamicCast(o, Q$Map$Entry);
  lookupEntry = $getEntry(this.this$0, entry.getKey());
  return !!lookupEntry && equalsWithNullCheck(lookupEntry.value, entry.getValue());
}
;
_.getClass$ = function getClass_498(){
  return Ljava_util_TreeMap$EntrySet_2_classLit;
}
;
_.iterator = function iterator_14(){
  return new TreeMap$EntryIterator_0(this.this$0);
}
;
_.remove_0 = function remove_35(o){
  var entry, state;
  if (!instanceOf(o, Q$Map$Entry)) {
    return false;
  }
  entry = dynamicCast(o, Q$Map$Entry);
  state = new TreeMap$State_0;
  state.matchValue = true;
  state.value = entry.getValue();
  return $removeWithState(this.this$0, entry.getKey(), state);
}
;
_.size_0 = function size_19(){
  return this.this$0.size;
}
;
_.castableTypeMap$ = makeCastMap([Q$Collection, Q$Set]);
_.this$0 = null;
function TreeMap$Node_0(key, value){
  this.key = key;
  this.value = value;
  this.child = initDim(_3Ljava_util_TreeMap$Node_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$TreeMap$Node, 2, 0);
  this.isRed = true;
}

function TreeMap$Node(){
}

_ = TreeMap$Node_0.prototype = TreeMap$Node.prototype = new Object_0;
_.equals$ = function equals_35(o){
  var other;
  if (!instanceOf(o, Q$TreeMap$Node)) {
    return false;
  }
  other = dynamicCast(o, Q$TreeMap$Node);
  return equalsWithNullCheck(this.key, other.key) && equalsWithNullCheck(this.value, other.value);
}
;
_.getClass$ = function getClass_499(){
  return Ljava_util_TreeMap$Node_2_classLit;
}
;
_.getKey = function getKey_2(){
  return this.key;
}
;
_.getValue = function getValue_2(){
  return this.value;
}
;
_.hashCode$ = function hashCode_35(){
  var keyHash, valueHash;
  keyHash = this.key != null?hashCode__devirtual$(this.key):0;
  valueHash = this.value != null?hashCode__devirtual$(this.value):0;
  return keyHash ^ valueHash;
}
;
_.setValue = function setValue_2(value){
  var old;
  old = this.value;
  this.value = value;
  return old;
}
;
_.toString$ = function toString_43(){
  return this.key + '=' + this.value;
}
;
_.castableTypeMap$ = makeCastMap([Q$Map$Entry, Q$TreeMap$Node]);
_.child = null;
_.isRed = false;
_.key = null;
_.value = null;
function TreeMap$State_0(){
}

function TreeMap$State(){
}

_ = TreeMap$State_0.prototype = TreeMap$State.prototype = new Object_0;
_.getClass$ = function getClass_500(){
  return Ljava_util_TreeMap$State_2_classLit;
}
;
_.toString$ = function toString_44(){
  return 'State: mv=' + this.matchValue + ' value=' + this.value + ' done=' + this.done + ' found=' + this.found;
}
;
_.done = false;
_.found = false;
_.matchValue = false;
_.value = null;
function $clinit_TreeMap$SubMapType(){
  $clinit_TreeMap$SubMapType = nullMethod;
  All = new TreeMap$SubMapType_0('All', 0);
  Head = new TreeMap$SubMapType$1_0;
  Range_3 = new TreeMap$SubMapType$2_0;
  Tail = new TreeMap$SubMapType$3_0;
  $VALUES_39 = initValues(_3Ljava_util_TreeMap$SubMapType_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$TreeMap$SubMapType, [All, Head, Range_3, Tail]);
}

function TreeMap$SubMapType_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_40(){
  $clinit_TreeMap$SubMapType();
  return $VALUES_39;
}

function TreeMap$SubMapType(){
}

_ = TreeMap$SubMapType_0.prototype = TreeMap$SubMapType.prototype = new Enum;
_.fromKeyValid = function fromKeyValid(){
  return false;
}
;
_.getClass$ = function getClass_501(){
  return Ljava_util_TreeMap$SubMapType_2_classLit;
}
;
_.toKeyValid = function toKeyValid(){
  return false;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$TreeMap$SubMapType]);
var $VALUES_39, All, Head, Range_3, Tail;
function TreeMap$SubMapType$1_0(){
  Enum_0.call(this, 'Head', 1);
}

function TreeMap$SubMapType$1(){
}

_ = TreeMap$SubMapType$1_0.prototype = TreeMap$SubMapType$1.prototype = new TreeMap$SubMapType;
_.getClass$ = function getClass_502(){
  return Ljava_util_TreeMap$SubMapType$1_2_classLit;
}
;
_.toKeyValid = function toKeyValid_0(){
  return true;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$TreeMap$SubMapType]);
function TreeMap$SubMapType$2_0(){
  Enum_0.call(this, 'Range', 2);
}

function TreeMap$SubMapType$2(){
}

_ = TreeMap$SubMapType$2_0.prototype = TreeMap$SubMapType$2.prototype = new TreeMap$SubMapType;
_.fromKeyValid = function fromKeyValid_0(){
  return true;
}
;
_.getClass$ = function getClass_503(){
  return Ljava_util_TreeMap$SubMapType$2_2_classLit;
}
;
_.toKeyValid = function toKeyValid_1(){
  return true;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$TreeMap$SubMapType]);
function TreeMap$SubMapType$3_0(){
  Enum_0.call(this, 'Tail', 3);
}

function TreeMap$SubMapType$3(){
}

_ = TreeMap$SubMapType$3_0.prototype = TreeMap$SubMapType$3.prototype = new TreeMap$SubMapType;
_.fromKeyValid = function fromKeyValid_1(){
  return true;
}
;
_.getClass$ = function getClass_504(){
  return Ljava_util_TreeMap$SubMapType$3_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$TreeMap$SubMapType]);
function $add_9(this$static, o){
  return $put(this$static.map, o, ($clinit_Boolean() , FALSE)) == null;
}

function TreeSet_0(){
  this.map = new TreeMap_0;
}

function TreeSet_1(){
  this.map = new TreeMap_0;
}

function TreeSet(){
}

_ = TreeSet_1.prototype = TreeSet_0.prototype = TreeSet.prototype = new AbstractSet;
_.add = function add_17(o){
  return $add_9(this, o);
}
;
_.contains = function contains_13(o){
  return !!$getEntry(this.map, o);
}
;
_.getClass$ = function getClass_505(){
  return Ljava_util_TreeSet_2_classLit;
}
;
_.iterator = function iterator_15(){
  return $iterator($keySet(this.map));
}
;
_.remove_0 = function remove_36(o){
  return $remove_12(this.map, o) != null;
}
;
_.size_0 = function size_20(){
  return this.map.size;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Collection, Q$Set]);
--></script>
<script><!--
_.map = null;
function equalsWithNullCheck(a, b){
  return maskUndefined(a) === maskUndefined(b) || a != null && equals__devirtual$(a, b);
}

function LogRecord_0(){
  (new Date_1).getTime_0();
}

function LogRecord(){
}

_ = LogRecord_0.prototype = LogRecord.prototype = new Object_0;
_.getClass$ = function getClass_506(){
  return Ljava_util_logging_LogRecord_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable]);
function ValidationException_0(){
  $fillInStackTrace();
}

function ValidationException(){
}

_ = ValidationException_0.prototype = ValidationException.prototype = new RuntimeException;
_.getClass$ = function getClass_507(){
  return Ljavax_validation_ValidationException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function ConstraintDeclarationException_0(){
  $fillInStackTrace();
}

function ConstraintDeclarationException(){
}

_ = ConstraintDeclarationException_0.prototype = ConstraintDeclarationException.prototype = new ValidationException;
_.getClass$ = function getClass_508(){
  return Ljavax_validation_ConstraintDeclarationException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function ConstraintDefinitionException_0(){
  $fillInStackTrace();
}

function ConstraintDefinitionException(){
}

_ = ConstraintDefinitionException_0.prototype = ConstraintDefinitionException.prototype = new ValidationException;
_.getClass$ = function getClass_509(){
  return Ljavax_validation_ConstraintDefinitionException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function ConstraintViolationException_0(message){
  RuntimeException_1.call(this, message);
}

function ConstraintViolationException(){
}

_ = ConstraintViolationException_0.prototype = ConstraintViolationException.prototype = new ValidationException;
_.getClass$ = function getClass_510(){
  return Ljavax_validation_ConstraintViolationException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function deserialize_156(streamReader, instance){
}

function instantiate_153(streamReader){
  var message;
  message = $getString(streamReader, $readInt(streamReader));
  dynamicCast($readObject(streamReader), Q$Set);
  return new ConstraintViolationException_0(message);
}

function GroupDefinitionException_0(){
  $fillInStackTrace();
}

function GroupDefinitionException(){
}

_ = GroupDefinitionException_0.prototype = GroupDefinitionException.prototype = new ValidationException;
_.getClass$ = function getClass_511(){
  return Ljavax_validation_GroupDefinitionException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function UnexpectedTypeException_0(){
  $fillInStackTrace();
}

function UnexpectedTypeException(){
}

_ = UnexpectedTypeException_0.prototype = UnexpectedTypeException.prototype = new ConstraintDeclarationException;
_.getClass$ = function getClass_512(){
  return Ljavax_validation_UnexpectedTypeException_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$RuntimeException, Q$Throwable]);
function $clinit_Pattern$Flag(){
  $clinit_Pattern$Flag = nullMethod;
  UNIX_LINES = new Pattern$Flag_0('UNIX_LINES', 0);
  CASE_INSENSITIVE = new Pattern$Flag_0('CASE_INSENSITIVE', 1);
  COMMENTS = new Pattern$Flag_0('COMMENTS', 2);
  MULTILINE = new Pattern$Flag_0('MULTILINE', 3);
  DOTALL = new Pattern$Flag_0('DOTALL', 4);
  UNICODE_CASE = new Pattern$Flag_0('UNICODE_CASE', 5);
  CANON_EQ = new Pattern$Flag_0('CANON_EQ', 6);
  $VALUES_40 = initValues(_3Ljavax_validation_constraints_Pattern$Flag_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Pattern$Flag, [UNIX_LINES, CASE_INSENSITIVE, COMMENTS, MULTILINE, DOTALL, UNICODE_CASE, CANON_EQ]);
}

function Pattern$Flag_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_41(){
  $clinit_Pattern$Flag();
  return $VALUES_40;
}

function Pattern$Flag(){
}

_ = Pattern$Flag_0.prototype = Pattern$Flag.prototype = new Enum;
_.getClass$ = function getClass_513(){
  return Ljavax_validation_constraints_Pattern$Flag_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$Pattern$Flag]);
var $VALUES_40, CANON_EQ, CASE_INSENSITIVE, COMMENTS, DOTALL, MULTILINE, UNICODE_CASE, UNIX_LINES;
function $clinit_Scope(){
  $clinit_Scope = nullMethod;
  LOCAL_ELEMENT = new Scope_0('LOCAL_ELEMENT', 0);
  HIERARCHY = new Scope_0('HIERARCHY', 1);
  $VALUES_41 = initValues(_3Ljavax_validation_metadata_Scope_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Scope, [LOCAL_ELEMENT, HIERARCHY]);
}

function Scope_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_42(){
  $clinit_Scope();
  return $VALUES_41;
}

function Scope(){
}

_ = Scope_0.prototype = Scope.prototype = new Enum;
_.getClass$ = function getClass_514(){
  return Ljavax_validation_metadata_Scope_2_classLit;
}
;
_.castableTypeMap$ = makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$Scope]);
var $VALUES_41, HIERARCHY, LOCAL_ELEMENT;
var $entry = entry_0;
function gwtOnLoad(errFn, modName, modBase, softPermutationId){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      $entry(init)();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    $entry(init)();
  }
}

--></script>
<script><!--
var Ljava_lang_Object_2_classLit = createForClass('java.lang.', 'Object'), Lcom_google_gwt_animation_client_Animation_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation'), Lcom_google_gwt_animation_client_Animation$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation$1'), Lcom_google_gwt_animation_client_AnimationScheduler_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler'), Lcom_google_gwt_animation_client_AnimationScheduler$AnimationHandle_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler$AnimationHandle'), Lcom_google_gwt_animation_client_AnimationSchedulerImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImpl'), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer'), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl'), _3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForArray('[Lcom.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl;', Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit), Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer'), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$1'), Lcom_google_gwt_animation_client_AnimationSchedulerImplWebkit_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplWebkit'), Lcom_google_gwt_animation_client_AnimationSchedulerImplWebkit$AnimationHandleImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplWebkit$AnimationHandleImpl'), Ljava_lang_Enum_2_classLit = createForClass('java.lang.', 'Enum'), Lcom_google_gwt_canvas_dom_client_Context2d$Composite_2_classLit = createForEnum('com.google.gwt.canvas.dom.client.', 'Context2d$Composite', values_0), _3Lcom_google_gwt_canvas_dom_client_Context2d$Composite_2_classLit = createForArray('[Lcom.google.gwt.canvas.dom.client.', 'Context2d$Composite;', Lcom_google_gwt_canvas_dom_client_Context2d$Composite_2_classLit), Lcom_google_gwt_canvas_dom_client_Context2d$LineCap_2_classLit = createForEnum('com.google.gwt.canvas.dom.client.', 'Context2d$LineCap', values_1), _3Lcom_google_gwt_canvas_dom_client_Context2d$LineCap_2_classLit = createForArray('[Lcom.google.gwt.canvas.dom.client.', 'Context2d$LineCap;', Lcom_google_gwt_canvas_dom_client_Context2d$LineCap_2_classLit), Lcom_google_gwt_canvas_dom_client_Context2d$LineJoin_2_classLit = createForEnum('com.google.gwt.canvas.dom.client.', 'Context2d$LineJoin', values_2), _3Lcom_google_gwt_canvas_dom_client_Context2d$LineJoin_2_classLit = createForArray('[Lcom.google.gwt.canvas.dom.client.', 'Context2d$LineJoin;', Lcom_google_gwt_canvas_dom_client_Context2d$LineJoin_2_classLit), Lcom_google_gwt_canvas_dom_client_Context2d$Repetition_2_classLit = createForEnum('com.google.gwt.canvas.dom.client.', 'Context2d$Repetition', values_3), _3Lcom_google_gwt_canvas_dom_client_Context2d$Repetition_2_classLit = createForArray('[Lcom.google.gwt.canvas.dom.client.', 'Context2d$Repetition;', Lcom_google_gwt_canvas_dom_client_Context2d$Repetition_2_classLit), Lcom_google_gwt_canvas_dom_client_Context2d$TextAlign_2_classLit = createForEnum('com.google.gwt.canvas.dom.client.', 'Context2d$TextAlign', values_4), _3Lcom_google_gwt_canvas_dom_client_Context2d$TextAlign_2_classLit = createForArray('[Lcom.google.gwt.canvas.dom.client.', 'Context2d$TextAlign;', Lcom_google_gwt_canvas_dom_client_Context2d$TextAlign_2_classLit), Lcom_google_gwt_canvas_dom_client_Context2d$TextBaseline_2_classLit = createForEnum('com.google.gwt.canvas.dom.client.', 'Context2d$TextBaseline', values_5), _3Lcom_google_gwt_canvas_dom_client_Context2d$TextBaseline_2_classLit = createForArray('[Lcom.google.gwt.canvas.dom.client.', 'Context2d$TextBaseline;', Lcom_google_gwt_canvas_dom_client_Context2d$TextBaseline_2_classLit), Lcom_google_gwt_cell_client_AbstractCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'AbstractCell'), Lcom_google_gwt_cell_client_AbstractSafeHtmlCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'AbstractSafeHtmlCell'), Ljava_lang_String_2_classLit = createForClass('java.lang.', 'String'), _3Ljava_lang_String_2_classLit = createForArray('[Ljava.lang.', 'String;', Ljava_lang_String_2_classLit), Lcom_google_gwt_cell_client_ButtonCellBase$Decoration_2_classLit = createForEnum('com.google.gwt.cell.client.', 'ButtonCellBase$Decoration', values_6), _3Lcom_google_gwt_cell_client_ButtonCellBase$Decoration_2_classLit = createForArray('[Lcom.google.gwt.cell.client.', 'ButtonCellBase$Decoration;', Lcom_google_gwt_cell_client_ButtonCellBase$Decoration_2_classLit), Lcom_google_gwt_cell_client_TextCell_2_classLit = createForClass('com.google.gwt.cell.client.', 'TextCell'), Ljava_lang_Throwable_2_classLit = createForClass('java.lang.', 'Throwable'), Ljava_lang_Exception_2_classLit = createForClass('java.lang.', 'Exception'), Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang.', 'RuntimeException'), Lcom_google_gwt_core_client_CodeDownloadException$Reason_2_classLit = createForEnum('com.google.gwt.core.client.', 'CodeDownloadException$Reason', values_7), _3Lcom_google_gwt_core_client_CodeDownloadException$Reason_2_classLit = createForArray('[Lcom.google.gwt.core.client.', 'CodeDownloadException$Reason;', Lcom_google_gwt_core_client_CodeDownloadException$Reason_2_classLit), Lcom_google_gwt_core_client_Duration_2_classLit = createForClass('com.google.gwt.core.client.', 'Duration'), Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptException'), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$'), Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client.', 'Scheduler'), I_classLit = createForPrimitive('int'), _3I_classLit = createForArray('', '[I', I_classLit), _3Ljava_lang_Object_2_classLit = createForArray('[Ljava.lang.', 'Object;', Ljava_lang_Object_2_classLit), Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl'), Lcom_google_gwt_core_client_impl_SchedulerImpl$Flusher_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Flusher'), Lcom_google_gwt_core_client_impl_SchedulerImpl$Rescuer_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Rescuer'), Lcom_google_gwt_core_client_impl_SerializableThrowable_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SerializableThrowable'), Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StackTraceCreator$Collector'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang.', 'StackTraceElement'), _3Ljava_lang_StackTraceElement_2_classLit = createForArray('[Ljava.lang.', 'StackTraceElement;', Ljava_lang_StackTraceElement_2_classLit), Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorMoz_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StackTraceCreator$CollectorMoz'), Lcom_google_gwt_core_client_impl_StackTraceCreator$CollectorChrome_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StackTraceCreator$CollectorChrome'), Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImpl'), Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImplAppend'), Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle', values_8), _3Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$BorderStyle;', Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit), Lcom_google_gwt_dom_client_Style$BorderStyle$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$1', null), Lcom_google_gwt_dom_client_Style$BorderStyle$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$2', null), Lcom_google_gwt_dom_client_Style$BorderStyle$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$3', null), Lcom_google_gwt_dom_client_Style$BorderStyle$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$4', null), Lcom_google_gwt_dom_client_Style$BorderStyle$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$5', null), Lcom_google_gwt_dom_client_Style$Cursor_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor', values_9), _3Lcom_google_gwt_dom_client_Style$Cursor_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Cursor;', Lcom_google_gwt_dom_client_Style$Cursor_2_classLit), Lcom_google_gwt_dom_client_Style$Cursor$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$1', null), Lcom_google_gwt_dom_client_Style$Cursor$10_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$10', null), Lcom_google_gwt_dom_client_Style$Cursor$11_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$11', null), Lcom_google_gwt_dom_client_Style$Cursor$12_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$12', null), Lcom_google_gwt_dom_client_Style$Cursor$13_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$13', null), Lcom_google_gwt_dom_client_Style$Cursor$14_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$14', null), Lcom_google_gwt_dom_client_Style$Cursor$15_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$15', null), Lcom_google_gwt_dom_client_Style$Cursor$16_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$16', null), Lcom_google_gwt_dom_client_Style$Cursor$17_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$17', null), Lcom_google_gwt_dom_client_Style$Cursor$18_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$18', null), Lcom_google_gwt_dom_client_Style$Cursor$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$2', null), Lcom_google_gwt_dom_client_Style$Cursor$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$3', null), Lcom_google_gwt_dom_client_Style$Cursor$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$4', null), Lcom_google_gwt_dom_client_Style$Cursor$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$5', null), Lcom_google_gwt_dom_client_Style$Cursor$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$6', null), Lcom_google_gwt_dom_client_Style$Cursor$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$7', null), Lcom_google_gwt_dom_client_Style$Cursor$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$8', null), Lcom_google_gwt_dom_client_Style$Cursor$9_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Cursor$9', null), Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display', values_10), _3Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Display;', Lcom_google_gwt_dom_client_Style$Display_2_classLit), Lcom_google_gwt_dom_client_Style$Display$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$1', null), Lcom_google_gwt_dom_client_Style$Display$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$2', null), Lcom_google_gwt_dom_client_Style$Display$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$3', null), Lcom_google_gwt_dom_client_Style$Display$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$4', null), Lcom_google_gwt_dom_client_Style$Float_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Float', values_11), _3Lcom_google_gwt_dom_client_Style$Float_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Float;', Lcom_google_gwt_dom_client_Style$Float_2_classLit), Lcom_google_gwt_dom_client_Style$Float$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Float$1', null), Lcom_google_gwt_dom_client_Style$Float$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Float$2', null), Lcom_google_gwt_dom_client_Style$Float$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Float$3', null), Lcom_google_gwt_dom_client_Style$FontStyle_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontStyle', values_12), _3Lcom_google_gwt_dom_client_Style$FontStyle_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$FontStyle;', Lcom_google_gwt_dom_client_Style$FontStyle_2_classLit), Lcom_google_gwt_dom_client_Style$FontStyle$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontStyle$1', null), Lcom_google_gwt_dom_client_Style$FontStyle$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontStyle$2', null), Lcom_google_gwt_dom_client_Style$FontStyle$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontStyle$3', null), Lcom_google_gwt_dom_client_Style$FontWeight_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontWeight', values_13), _3Lcom_google_gwt_dom_client_Style$FontWeight_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$FontWeight;', Lcom_google_gwt_dom_client_Style$FontWeight_2_classLit), Lcom_google_gwt_dom_client_Style$FontWeight$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontWeight$1', null), Lcom_google_gwt_dom_client_Style$FontWeight$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontWeight$2', null), Lcom_google_gwt_dom_client_Style$FontWeight$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontWeight$3', null), Lcom_google_gwt_dom_client_Style$FontWeight$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$FontWeight$4', null), Lcom_google_gwt_dom_client_Style$ListStyleType_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType', values_14), _3Lcom_google_gwt_dom_client_Style$ListStyleType_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$ListStyleType;', Lcom_google_gwt_dom_client_Style$ListStyleType_2_classLit), Lcom_google_gwt_dom_client_Style$ListStyleType$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$1', null), Lcom_google_gwt_dom_client_Style$ListStyleType$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$2', null), Lcom_google_gwt_dom_client_Style$ListStyleType$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$3', null), Lcom_google_gwt_dom_client_Style$ListStyleType$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$4', null), Lcom_google_gwt_dom_client_Style$ListStyleType$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$5', null), Lcom_google_gwt_dom_client_Style$ListStyleType$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$6', null), Lcom_google_gwt_dom_client_Style$ListStyleType$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$7', null), Lcom_google_gwt_dom_client_Style$ListStyleType$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$8', null), Lcom_google_gwt_dom_client_Style$ListStyleType$9_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$ListStyleType$9', null), Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow', values_15), _3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Overflow;', Lcom_google_gwt_dom_client_Style$Overflow_2_classLit), Lcom_google_gwt_dom_client_Style$Overflow$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$1', null), Lcom_google_gwt_dom_client_Style$Overflow$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$2', null), Lcom_google_gwt_dom_client_Style$Overflow$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$3', null), Lcom_google_gwt_dom_client_Style$Overflow$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$4', null), Lcom_google_gwt_dom_client_Style$Position_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position', values_16), _3Lcom_google_gwt_dom_client_Style$Position_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Position;', Lcom_google_gwt_dom_client_Style$Position_2_classLit), Lcom_google_gwt_dom_client_Style$Position$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$1', null), Lcom_google_gwt_dom_client_Style$Position$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$2', null), Lcom_google_gwt_dom_client_Style$Position$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$3', null), Lcom_google_gwt_dom_client_Style$Position$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$4', null), Lcom_google_gwt_dom_client_Style$TableLayout_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TableLayout', values_17), _3Lcom_google_gwt_dom_client_Style$TableLayout_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$TableLayout;', Lcom_google_gwt_dom_client_Style$TableLayout_2_classLit), Lcom_google_gwt_dom_client_Style$TableLayout$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TableLayout$1', null), Lcom_google_gwt_dom_client_Style$TableLayout$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TableLayout$2', null), Lcom_google_gwt_dom_client_Style$TextDecoration_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextDecoration', values_18), _3Lcom_google_gwt_dom_client_Style$TextDecoration_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$TextDecoration;', Lcom_google_gwt_dom_client_Style$TextDecoration_2_classLit), Lcom_google_gwt_dom_client_Style$TextDecoration$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextDecoration$1', null), Lcom_google_gwt_dom_client_Style$TextDecoration$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextDecoration$2', null), Lcom_google_gwt_dom_client_Style$TextDecoration$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextDecoration$3', null), Lcom_google_gwt_dom_client_Style$TextDecoration$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextDecoration$4', null), Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit', values_19), _3Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Unit;', Lcom_google_gwt_dom_client_Style$Unit_2_classLit), Lcom_google_gwt_dom_client_Style$Unit$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$1', null), Lcom_google_gwt_dom_client_Style$Unit$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$2', null), Lcom_google_gwt_dom_client_Style$Unit$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$3', null), Lcom_google_gwt_dom_client_Style$Unit$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$4', null), Lcom_google_gwt_dom_client_Style$Unit$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$5', null), Lcom_google_gwt_dom_client_Style$Unit$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$6', null), Lcom_google_gwt_dom_client_Style$Unit$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$7', null), Lcom_google_gwt_dom_client_Style$Unit$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$8', null), Lcom_google_gwt_dom_client_Style$Unit$9_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$9', null), Lcom_google_gwt_dom_client_Style$VerticalAlign_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign', values_20), _3Lcom_google_gwt_dom_client_Style$VerticalAlign_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$VerticalAlign;', Lcom_google_gwt_dom_client_Style$VerticalAlign_2_classLit), Lcom_google_gwt_dom_client_Style$VerticalAlign$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$1', null), Lcom_google_gwt_dom_client_Style$VerticalAlign$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$2', null), Lcom_google_gwt_dom_client_Style$VerticalAlign$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$3', null), Lcom_google_gwt_dom_client_Style$VerticalAlign$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$4', null), Lcom_google_gwt_dom_client_Style$VerticalAlign$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$5', null), Lcom_google_gwt_dom_client_Style$VerticalAlign$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$6', null), Lcom_google_gwt_dom_client_Style$VerticalAlign$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$7', null), Lcom_google_gwt_dom_client_Style$VerticalAlign$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$VerticalAlign$8', null), Lcom_google_gwt_dom_client_Style$Visibility_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Visibility', values_21), _3Lcom_google_gwt_dom_client_Style$Visibility_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Visibility;', Lcom_google_gwt_dom_client_Style$Visibility_2_classLit), Lcom_google_gwt_dom_client_Style$Visibility$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Visibility$1', null), Lcom_google_gwt_dom_client_Style$Visibility$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Visibility$2', null), Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$1'), Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$StyleInjectorImpl'), Lcom_google_web_bindery_event_shared_Event_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'Event'), Lcom_google_gwt_event_shared_GwtEvent_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent'), Lcom_google_gwt_event_dom_client_DomEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent'), Lcom_google_gwt_event_dom_client_HumanInputEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'HumanInputEvent'), Lcom_google_gwt_event_dom_client_MouseEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseEvent'), Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'ClickEvent'), Lcom_google_web_bindery_event_shared_Event$Type_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'Event$Type'), Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent$Type'), Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent$Type'), Lcom_google_gwt_event_dom_client_MouseDownEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseDownEvent'), Lcom_google_gwt_event_dom_client_MouseMoveEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseMoveEvent'), Lcom_google_gwt_event_dom_client_MouseOutEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseOutEvent'), Lcom_google_gwt_event_dom_client_MouseOverEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseOverEvent'), Lcom_google_gwt_event_dom_client_MouseUpEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseUpEvent'), Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'PrivateMap'), Lcom_google_gwt_event_dom_client_ScrollEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'ScrollEvent'), Lcom_google_gwt_event_dom_client_TouchEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchEvent'), Lcom_google_gwt_event_dom_client_TouchCancelEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchCancelEvent'), Lcom_google_gwt_event_dom_client_TouchEndEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchEndEvent'), Lcom_google_gwt_event_dom_client_TouchEvent$TouchSupportDetector_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchEvent$TouchSupportDetector'), Lcom_google_gwt_event_dom_client_TouchMoveEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchMoveEvent'), Lcom_google_gwt_event_dom_client_TouchStartEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchStartEvent'), Lcom_google_gwt_event_logical_shared_AttachEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'AttachEvent'), Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'CloseEvent'), Lcom_google_gwt_event_logical_shared_ResizeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ResizeEvent'), Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ValueChangeEvent'), Lcom_google_gwt_event_shared_HandlerManager_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager'), Lcom_google_web_bindery_event_shared_EventBus_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'EventBus'), Lcom_google_web_bindery_event_shared_SimpleEventBus_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus'), Lcom_google_gwt_event_shared_HandlerManager$Bus_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager$Bus'), Lcom_google_gwt_event_shared_LegacyHandlerWrapper_2_classLit = createForClass('com.google.gwt.event.shared.', 'LegacyHandlerWrapper'), Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'UmbrellaException'), Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared.', 'UmbrellaException'), Lcom_google_gwt_http_client_Request_2_classLit = createForClass('com.google.gwt.http.client.', 'Request'), Lcom_google_gwt_http_client_Response_2_classLit = createForClass('com.google.gwt.http.client.', 'Response'), Lcom_google_gwt_http_client_Request$1_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$1'), Lcom_google_gwt_http_client_Request$3_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$3'), Lcom_google_gwt_http_client_RequestBuilder_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder'), Lcom_google_gwt_http_client_RequestBuilder$1_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$1'), Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$Method'), Lcom_google_gwt_http_client_RequestException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestException'), Lcom_google_gwt_http_client_RequestPermissionException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestPermissionException'), Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestTimeoutException'), Lcom_google_gwt_i18n_client_AutoDirectionHandler_2_classLit = createForClass('com.google.gwt.i18n.client.', 'AutoDirectionHandler'), Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat', values_22), _3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat;', Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit), Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'HasDirection$Direction', values_23), _3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'HasDirection$Direction;', Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit), C_classLit = createForPrimitive('char'), _3C_classLit = createForArray('', '[C', C_classLit), Lcom_google_gwt_i18n_shared_DateTimeFormat$PredefinedFormat_2_classLit = createForEnum('com.google.gwt.i18n.shared.', 'DateTimeFormat$PredefinedFormat', values_24), _3Lcom_google_gwt_i18n_shared_DateTimeFormat$PredefinedFormat_2_classLit = createForArray('[Lcom.google.gwt.i18n.shared.', 'DateTimeFormat$PredefinedFormat;', Lcom_google_gwt_i18n_shared_DateTimeFormat$PredefinedFormat_2_classLit), Ljava_util_Date_2_classLit = createForClass('java.util.', 'Date'), Lcom_google_gwt_i18n_shared_impl_DateRecord_2_classLit = createForClass('com.google.gwt.i18n.shared.impl.', 'DateRecord'), Lcom_google_gwt_jsonp_client_TimeoutException_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'TimeoutException'), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang.', 'LongLibBase$LongEmul'), _3Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForArray('[Lcom.google.gwt.lang.', 'LongLibBase$LongEmul;', Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit), Lcom_google_gwt_layout_client_Layout$Alignment_2_classLit = createForEnum('com.google.gwt.layout.client.', 'Layout$Alignment', values_25), _3Lcom_google_gwt_layout_client_Layout$Alignment_2_classLit = createForArray('[Lcom.google.gwt.layout.client.', 'Layout$Alignment;', Lcom_google_gwt_layout_client_Layout$Alignment_2_classLit), Lcom_google_gwt_resources_client_ImageResource$RepeatStyle_2_classLit = createForEnum('com.google.gwt.resources.client.', 'ImageResource$RepeatStyle', values_26), _3Lcom_google_gwt_resources_client_ImageResource$RepeatStyle_2_classLit = createForArray('[Lcom.google.gwt.resources.client.', 'ImageResource$RepeatStyle;', Lcom_google_gwt_resources_client_ImageResource$RepeatStyle_2_classLit), Lcom_google_gwt_resources_client_impl_ImageResourcePrototype_2_classLit = createForClass('com.google.gwt.resources.client.impl.', 'ImageResourcePrototype'), Lcom_google_gwt_safecss_shared_SafeStylesString_2_classLit = createForClass('com.google.gwt.safecss.shared.', 'SafeStylesString'), Lcom_google_gwt_safehtml_shared_OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml'), Lcom_google_gwt_safehtml_shared_SafeHtmlBuilder_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeHtmlBuilder'), Lcom_google_gwt_safehtml_shared_SafeHtmlString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeHtmlString'), Lcom_google_gwt_safehtml_shared_SafeUriString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeUriString'), Lcom_google_gwt_text_shared_AbstractRenderer_2_classLit = createForClass('com.google.gwt.text.shared.', 'AbstractRenderer'), Lcom_google_gwt_text_shared_SimpleSafeHtmlRenderer_2_classLit = createForClass('com.google.gwt.text.shared.', 'SimpleSafeHtmlRenderer'), Lcom_google_gwt_text_shared_testing_PassthroughParser_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughParser'), Lcom_google_gwt_text_shared_testing_PassthroughRenderer_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughRenderer'), Lcom_google_gwt_touch_client_DefaultMomentum_2_classLit = createForClass('com.google.gwt.touch.client.', 'DefaultMomentum'), Lcom_google_gwt_touch_client_Momentum$State_2_classLit = createForClass('com.google.gwt.touch.client.', 'Momentum$State'), Lcom_google_gwt_touch_client_Point_2_classLit = createForClass('com.google.gwt.touch.client.', 'Point'), Lcom_google_gwt_touch_client_TouchScroller_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller'), Lcom_google_gwt_touch_client_TouchScroller$1_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$1'), Lcom_google_gwt_touch_client_TouchScroller$2_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$2'), Lcom_google_gwt_touch_client_TouchScroller$3_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$3'), Lcom_google_gwt_touch_client_TouchScroller$4_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$4'), Lcom_google_gwt_touch_client_TouchScroller$5_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$5'), Lcom_google_gwt_touch_client_TouchScroller$6_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$6'), Lcom_google_gwt_touch_client_TouchScroller$MomentumCommand_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$MomentumCommand'), Lcom_google_gwt_touch_client_TouchScroller$MomentumCommand$1_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$MomentumCommand$1'), Lcom_google_gwt_touch_client_TouchScroller$MomentumTouchRemovalCommand_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$MomentumTouchRemovalCommand'), Lcom_google_gwt_touch_client_TouchScroller$TemporalPoint_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$TemporalPoint'), Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'UIObject'), Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Widget'), Lcom_google_gwt_user_client_ui_Composite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Composite'), Lcom_google_gwt_user_cellview_client_AbstractHasData_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData'), Lcom_google_gwt_user_cellview_client_AbstractCellTable_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractCellTable'), Lcom_google_gwt_user_cellview_client_AbstractCellTable$2_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractCellTable$2'), Lcom_google_gwt_user_cellview_client_AbstractCellTable$Impl_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractCellTable$Impl'), Lcom_google_gwt_user_cellview_client_AbstractCellTable_1TemplateImpl_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractCellTable_TemplateImpl'), Lcom_google_gwt_user_cellview_client_AbstractHasData$1_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData$1'), Lcom_google_gwt_user_cellview_client_AbstractHasData$View_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData$View'), Lcom_google_gwt_user_cellview_client_AbstractHasData$View$1_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData$View$1'), Lcom_google_gwt_user_cellview_client_AbstractHasData$View$2_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractHasData$View$2'), Lcom_google_gwt_user_cellview_client_AbstractPager_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractPager'), Lcom_google_gwt_user_cellview_client_AbstractPager$1_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractPager$1'), Lcom_google_gwt_user_cellview_client_AbstractPager$2_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'AbstractPager$2'), Lcom_google_gwt_user_cellview_client_CellBasedWidgetImpl_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellBasedWidgetImpl'), Lcom_google_gwt_user_cellview_client_CellBasedWidgetImplStandard_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellBasedWidgetImplStandard'), Lcom_google_gwt_user_cellview_client_CellBasedWidgetImplStandardBase_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellBasedWidgetImplStandardBase'), Lcom_google_gwt_user_cellview_client_CellTable_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable'), Lcom_google_gwt_user_cellview_client_CellTable$ResourcesAdapter_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable$ResourcesAdapter'), Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable_Resources_default_InlineClientBundleGenerator'), Lcom_google_gwt_user_cellview_client_CellTable_1Resources_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'CellTable_Resources_default_InlineClientBundleGenerator$1'), Lcom_google_gwt_user_cellview_client_Column_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'Column'), Lcom_google_gwt_user_cellview_client_ColumnSortEvent$ListHandler_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'ColumnSortEvent$ListHandler'), Lcom_google_gwt_user_cellview_client_ColumnSortList_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'ColumnSortList'), Lcom_google_gwt_user_cellview_client_HasDataPresenter_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter'), Lcom_google_gwt_user_cellview_client_HasDataPresenter$1_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter$1'), Lcom_google_gwt_user_cellview_client_HasDataPresenter$2_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter$2'), Lcom_google_gwt_user_cellview_client_HasDataPresenter$DefaultState_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter$DefaultState'), Lcom_google_gwt_user_cellview_client_HasDataPresenter$PendingState_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'HasDataPresenter$PendingState'), Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit = createForEnum('com.google.gwt.user.cellview.client.', 'HasKeyboardPagingPolicy$KeyboardPagingPolicy', values_27), _3Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit = createForArray('[Lcom.google.gwt.user.cellview.client.', 'HasKeyboardPagingPolicy$KeyboardPagingPolicy;', Lcom_google_gwt_user_cellview_client_HasKeyboardPagingPolicy$KeyboardPagingPolicy_2_classLit), Lcom_google_gwt_user_cellview_client_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_2_classLit = createForEnum('com.google.gwt.user.cellview.client.', 'HasKeyboardSelectionPolicy$KeyboardSelectionPolicy', values_28), _3Lcom_google_gwt_user_cellview_client_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_2_classLit = createForArray('[Lcom.google.gwt.user.cellview.client.', 'HasKeyboardSelectionPolicy$KeyboardSelectionPolicy;', Lcom_google_gwt_user_cellview_client_HasKeyboardSelectionPolicy$KeyboardSelectionPolicy_2_classLit), Lcom_google_gwt_user_cellview_client_Header_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'Header'), Lcom_google_gwt_user_cellview_client_LoadingStateChangeEvent_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'LoadingStateChangeEvent'), Lcom_google_gwt_user_cellview_client_LoadingStateChangeEvent$DefaultLoadingState_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'LoadingStateChangeEvent$DefaultLoadingState'), Lcom_google_gwt_user_client_ui_Image_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image'), Lcom_google_gwt_user_cellview_client_SimplePager$TextLocation_2_classLit = createForEnum('com.google.gwt.user.cellview.client.', 'SimplePager$TextLocation', values_29), _3Lcom_google_gwt_user_cellview_client_SimplePager$TextLocation_2_classLit = createForArray('[Lcom.google.gwt.user.cellview.client.', 'SimplePager$TextLocation;', Lcom_google_gwt_user_cellview_client_SimplePager$TextLocation_2_classLit), Lcom_google_gwt_user_cellview_client_TextColumn_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'TextColumn'), Lcom_google_gwt_user_cellview_client_TextHeader_2_classLit = createForClass('com.google.gwt.user.cellview.client.', 'TextHeader'), Lcom_google_gwt_user_client_DocumentModeAsserter$Severity_2_classLit = createForEnum('com.google.gwt.user.client.', 'DocumentModeAsserter$Severity', values_30), _3Lcom_google_gwt_user_client_DocumentModeAsserter$Severity_2_classLit = createForArray('[Lcom.google.gwt.user.client.', 'DocumentModeAsserter$Severity;', Lcom_google_gwt_user_client_DocumentModeAsserter$Severity_2_classLit), Lcom_google_gwt_user_client_Event$NativePreviewEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Event$NativePreviewEvent'), Lcom_google_gwt_user_client_Timer$1_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer$1'), Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$ClosingEvent'), Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$WindowHandlers'), Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImpl'), Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplTimer'), Lcom_google_gwt_user_client_impl_HistoryImplSafari_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplSafari'), Lcom_google_gwt_user_client_rpc_IncompatibleRemoteServiceException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'IncompatibleRemoteServiceException'), Lcom_google_gwt_user_client_rpc_InvocationException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'InvocationException'), Lcom_google_gwt_user_client_rpc_RpcRequestBuilder_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'RpcRequestBuilder'), Lcom_google_gwt_user_client_rpc_RpcTokenException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'RpcTokenException'), Lcom_google_gwt_user_client_rpc_SerializableException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'SerializableException'), Lcom_google_gwt_user_client_rpc_SerializationException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'SerializationException'), Lcom_google_gwt_user_client_rpc_ServiceDefTarget$NoServiceEntryPointSpecifiedException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'ServiceDefTarget$NoServiceEntryPointSpecifiedException'), Lcom_google_gwt_user_client_rpc_StatusCodeException_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'StatusCodeException'), Lcom_google_gwt_user_client_rpc_XsrfToken_2_classLit = createForClass('com.google.gwt.user.client.rpc.', 'XsrfToken'), Ljava_lang_Number_2_classLit = createForClass('java.lang.', 'Number'), Ljava_lang_Integer_2_classLit = createForClass('java.lang.', 'Integer'), _3Ljava_lang_Integer_2_classLit = createForArray('[Ljava.lang.', 'Integer;', Ljava_lang_Integer_2_classLit), Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStream_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'AbstractSerializationStream'), Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamReader_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'AbstractSerializationStreamReader'), Lcom_google_gwt_user_client_rpc_impl_AbstractSerializationStreamWriter_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'AbstractSerializationStreamWriter'), D_classLit = createForPrimitive('double'), _3D_classLit = createForArray('', '[D', D_classLit), Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamReader_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'ClientSerializationStreamReader'), Lcom_google_gwt_user_client_rpc_impl_ClientSerializationStreamWriter_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'ClientSerializationStreamWriter'), Lcom_google_gwt_user_client_rpc_impl_RemoteServiceProxy_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'RemoteServiceProxy'), Lcom_google_gwt_user_client_rpc_impl_RemoteServiceProxy$ServiceHelper_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'RemoteServiceProxy$ServiceHelper'), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter'), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader', values_31), _3Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit = createForArray('[Lcom.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader;', Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader_2_classLit), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$1_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$1', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$10_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$10', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$11_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$11', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$2_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$2', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$3_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$3', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$4_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$4', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$5_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$5', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$6_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$6', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$7_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$7', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$8_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$8', null), Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter$ResponseReader$9_2_classLit = createForEnum('com.google.gwt.user.client.rpc.impl.', 'RequestCallbackAdapter$ResponseReader$9', null), Lcom_google_gwt_user_client_rpc_impl_RpcStatsContext_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'RpcStatsContext'), Lcom_google_gwt_user_client_rpc_impl_SerializerBase_2_classLit = createForClass('com.google.gwt.user.client.rpc.impl.', 'SerializerBase'), Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Panel'), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel'), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel'), Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException'), Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$1'), Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$2'), Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusWidget'), Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ButtonBase'), Lcom_google_gwt_user_client_ui_Button_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Button'), Lcom_google_gwt_user_client_ui_CellPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel'), Ljava_util_AbstractCollection_2_classLit = createForClass('java.util.', 'AbstractCollection'), Ljava_util_AbstractList_2_classLit = createForClass('java.util.', 'AbstractList'), Ljava_util_ArrayList_2_classLit = createForClass('java.util.', 'ArrayList'), Lcom_google_gwt_user_client_ui_ChangeListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ChangeListenerCollection'), Lcom_google_gwt_user_client_ui_ClickListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ClickListenerCollection'), Lcom_google_gwt_user_client_ui_DeckPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckPanel'), Lcom_google_gwt_user_client_ui_DeckPanel$SlideAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckPanel$SlideAnimation'), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel'), Lcom_google_gwt_user_client_ui_PopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel'), Lcom_google_gwt_user_client_ui_DecoratedPopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratedPopupPanel'), Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratorPanel'), Lcom_google_gwt_user_client_ui_DialogBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox'), Lcom_google_gwt_user_client_ui_DialogBox$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox$1'), Lcom_google_gwt_user_client_ui_LabelBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LabelBase'), Lcom_google_gwt_user_client_ui_Label_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Label'), Lcom_google_gwt_user_client_ui_HTML_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTML'), Lcom_google_gwt_user_client_ui_DialogBox$CaptionImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox$CaptionImpl'), Lcom_google_gwt_user_client_ui_DialogBox$MouseHandler_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox$MouseHandler'), Lcom_google_gwt_user_client_ui_DirectionalTextHelper_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DirectionalTextHelper'), _3Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;', Lcom_google_gwt_user_client_ui_Widget_2_classLit), Lcom_google_gwt_user_client_ui_DockLayoutPanel$Direction_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'DockLayoutPanel$Direction', values_32), _3Lcom_google_gwt_user_client_ui_DockLayoutPanel$Direction_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'DockLayoutPanel$Direction;', Lcom_google_gwt_user_client_ui_DockLayoutPanel$Direction_2_classLit), Lcom_google_gwt_user_client_ui_FocusListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusListenerCollection'), Lcom_google_gwt_user_client_ui_FormHandlerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FormHandlerCollection'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$AutoHorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel'), Lcom_google_gwt_user_client_ui_Image$State_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State'), Lcom_google_gwt_user_client_ui_Image$ClippedState_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$ClippedState'), Lcom_google_gwt_user_client_ui_Image$State$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State$1'), Lcom_google_gwt_user_client_ui_KeyboardListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'KeyboardListenerCollection'), Lcom_google_gwt_user_client_ui_LoadListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LoadListenerCollection'), Lcom_google_gwt_user_client_ui_MouseListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MouseListenerCollection'), Lcom_google_gwt_user_client_ui_MouseWheelListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MouseWheelListenerCollection'), Lcom_google_gwt_user_client_ui_MultiWordSuggestOracle$MultiWordSuggestion_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MultiWordSuggestOracle$MultiWordSuggestion'), _3Lcom_google_gwt_user_client_ui_MultiWordSuggestOracle$MultiWordSuggestion_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'MultiWordSuggestOracle$MultiWordSuggestion;', Lcom_google_gwt_user_client_ui_MultiWordSuggestOracle$MultiWordSuggestion_2_classLit), Lcom_google_gwt_user_client_ui_PopupListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupListenerCollection'), Lcom_google_gwt_user_client_ui_PopupPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$1'), Lcom_google_gwt_user_client_ui_PopupPanel$3_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$3'), Lcom_google_gwt_user_client_ui_PopupPanel$4_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$4'), Lcom_google_gwt_user_client_ui_PopupPanel$AnimationType_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'PopupPanel$AnimationType', values_33), _3Lcom_google_gwt_user_client_ui_PopupPanel$AnimationType_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'PopupPanel$AnimationType;', Lcom_google_gwt_user_client_ui_PopupPanel$AnimationType_2_classLit), Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$ResizeAnimation'), Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$ResizeAnimation$1'), Lcom_google_gwt_user_client_ui_RootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1'), Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$2'), Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$DefaultRootPanel'), Lcom_google_gwt_user_client_ui_ScrollImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ScrollImpl'), Lcom_google_gwt_user_client_ui_ScrollListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ScrollListenerCollection'), Lcom_google_gwt_user_client_ui_ScrollPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ScrollPanel'), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1'), Lcom_google_gwt_user_client_ui_SuggestOracle$Request_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SuggestOracle$Request'), Lcom_google_gwt_user_client_ui_SuggestOracle$Response_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SuggestOracle$Response'), Lcom_google_gwt_user_client_ui_SuggestOracle$Suggestion_2_classLit = createForInterface('com.google.gwt.user.client.ui.', 'SuggestOracle$Suggestion'), _3Lcom_google_gwt_user_client_ui_SuggestOracle$Suggestion_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'SuggestOracle$Suggestion;', Lcom_google_gwt_user_client_ui_SuggestOracle$Suggestion_2_classLit), Lcom_google_gwt_user_client_ui_TabListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabListenerCollection'), Lcom_google_gwt_user_client_ui_TableListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TableListenerCollection'), Lcom_google_gwt_user_client_ui_ValueBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ValueBoxBase'), Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBoxBase'), Lcom_google_gwt_user_client_ui_TextBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBox'), Lcom_google_gwt_user_client_ui_TreeListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TreeListenerCollection'), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment', values_34), _3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment;', Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$1_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$1', null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$2_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$2', null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$3_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$3', null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$4_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$4', null), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel'), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection'), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator'), Lcom_google_gwt_user_client_ui_impl_ClippedImageImpl_1TemplateImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'ClippedImageImpl_TemplateImpl'), Lcom_google_gwt_user_client_ui_impl_FocusImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'FocusImpl'), Lcom_google_gwt_user_client_ui_impl_FocusImplStandard_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'FocusImplStandard'), Lcom_google_gwt_user_client_ui_impl_FocusImplSafari_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'FocusImplSafari'), Lcom_google_gwt_validation_client_impl_NodeImpl_2_classLit = createForClass('com.google.gwt.validation.client.impl.', 'NodeImpl'), Lcom_google_gwt_validation_client_impl_PathImpl_2_classLit = createForClass('com.google.gwt.validation.client.impl.', 'PathImpl'), Lcom_google_gwt_view_client_AbstractDataProvider_2_classLit = createForClass('com.google.gwt.view.client.', 'AbstractDataProvider'), Lcom_google_gwt_view_client_Range_2_classLit = createForClass('com.google.gwt.view.client.', 'Range'), Lcom_google_gwt_view_client_AbstractDataProvider$1_2_classLit = createForClass('com.google.gwt.view.client.', 'AbstractDataProvider$1'), Lcom_google_gwt_view_client_CellPreviewEvent_2_classLit = createForClass('com.google.gwt.view.client.', 'CellPreviewEvent'), Lcom_google_gwt_view_client_DefaultSelectionEventManager_2_classLit = createForClass('com.google.gwt.view.client.', 'DefaultSelectionEventManager'), Lcom_google_gwt_view_client_DefaultSelectionEventManager$SelectAction_2_classLit = createForEnum('com.google.gwt.view.client.', 'DefaultSelectionEventManager$SelectAction', values_35), _3Lcom_google_gwt_view_client_DefaultSelectionEventManager$SelectAction_2_classLit = createForArray('[Lcom.google.gwt.view.client.', 'DefaultSelectionEventManager$SelectAction;', Lcom_google_gwt_view_client_DefaultSelectionEventManager$SelectAction_2_classLit), Lcom_google_gwt_view_client_ListDataProvider_2_classLit = createForClass('com.google.gwt.view.client.', 'ListDataProvider'), Lcom_google_gwt_view_client_ListDataProvider$ListWrapper_2_classLit = createForClass('com.google.gwt.view.client.', 'ListDataProvider$ListWrapper'), Lcom_google_gwt_view_client_ListDataProvider$ListWrapper$1_2_classLit = createForClass('com.google.gwt.view.client.', 'ListDataProvider$ListWrapper$1'), Lcom_google_gwt_view_client_ListDataProvider$ListWrapper$WrappedListIterator_2_classLit = createForClass('com.google.gwt.view.client.', 'ListDataProvider$ListWrapper$WrappedListIterator'), Lcom_google_gwt_view_client_SelectionModel$AbstractSelectionModel_2_classLit = createForClass('com.google.gwt.view.client.', 'SelectionModel$AbstractSelectionModel'), Lcom_google_gwt_view_client_RangeChangeEvent_2_classLit = createForClass('com.google.gwt.view.client.', 'RangeChangeEvent'), Lcom_google_gwt_view_client_RowCountChangeEvent_2_classLit = createForClass('com.google.gwt.view.client.', 'RowCountChangeEvent'), Lcom_google_gwt_view_client_SelectionChangeEvent_2_classLit = createForClass('com.google.gwt.view.client.', 'SelectionChangeEvent'), Lcom_google_gwt_view_client_SelectionModel$AbstractSelectionModel$1_2_classLit = createForClass('com.google.gwt.view.client.', 'SelectionModel$AbstractSelectionModel$1'), Lcom_google_gwt_view_client_SingleSelectionModel_2_classLit = createForClass('com.google.gwt.view.client.', 'SingleSelectionModel'), Lcom_google_web_bindery_event_shared_SimpleEventBus$1_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$1'), Lcom_google_web_bindery_event_shared_SimpleEventBus$2_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$2'), Lcom_google_web_bindery_event_shared_SimpleEventBus$3_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$3'), _3Ljava_lang_Throwable_2_classLit = createForArray('[Ljava.lang.', 'Throwable;', Ljava_lang_Throwable_2_classLit), Ledu_upenn_cis_cis550_hw3_client_QueryTables_1Proxy_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.', 'QueryTables_Proxy'), Ledu_upenn_cis_cis550_hw3_client_QueryTables_1TypeSerializer_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.', 'QueryTables_TypeSerializer'), Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.shared.', 'Attribute'), Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit = createForEnum('edu.upenn.cis.cis550.hw3.shared.', 'Attribute$Type', values_36), _3Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit = createForArray('[Ledu.upenn.cis.cis550.hw3.shared.', 'Attribute$Type;', Ledu_upenn_cis_cis550_hw3_shared_Attribute$Type_2_classLit), _3Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit = createForArray('[Ledu.upenn.cis.cis550.hw3.shared.', 'Attribute;', Ledu_upenn_cis_cis550_hw3_shared_Attribute_2_classLit), Ljava_util_AbstractSet_2_classLit = createForClass('java.util.', 'AbstractSet'), Ljava_util_HashSet_2_classLit = createForClass('java.util.', 'HashSet'), Ledu_upenn_cis_cis550_hw3_shared_Relation_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.shared.', 'Relation'), Ledu_upenn_cis_cis550_hw3_shared_Schema_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.shared.', 'Schema'), Ledu_upenn_cis_cis550_hw3_shared_Tuple_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.shared.', 'Tuple'), Ljava_io_IOException_2_classLit = createForClass('java.io.', 'IOException'), Ljava_io_UnsupportedEncodingException_2_classLit = createForClass('java.io.', 'UnsupportedEncodingException'), Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang.', 'ArithmeticException'), Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'IndexOutOfBoundsException'), Ljava_lang_ArrayIndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'ArrayIndexOutOfBoundsException'), Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang.', 'ArrayStoreException'), Ljava_lang_Error_2_classLit = createForClass('java.lang.', 'Error'), Ljava_lang_AssertionError_2_classLit = createForClass('java.lang.', 'AssertionError'), Ljava_lang_Boolean_2_classLit = createForClass('java.lang.', 'Boolean'), Ljava_lang_Byte_2_classLit = createForClass('java.lang.', 'Byte'), Ljava_lang_Character_2_classLit = createForClass('java.lang.', 'Character'), Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang.', 'ClassCastException'), Ljava_lang_Double_2_classLit = createForClass('java.lang.', 'Double'), Ljava_lang_Float_2_classLit = createForClass('java.lang.', 'Float'), Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang.', 'IllegalArgumentException'), Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang.', 'IllegalStateException'), Ljava_lang_Long_2_classLit = createForClass('java.lang.', 'Long'), Ljava_lang_NegativeArraySizeException_2_classLit = createForClass('java.lang.', 'NegativeArraySizeException'), Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang.', 'NullPointerException'), Ljava_lang_NumberFormatException_2_classLit = createForClass('java.lang.', 'NumberFormatException'), Ljava_lang_Short_2_classLit = createForClass('java.lang.', 'Short'), Ljava_lang_StringIndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'StringIndexOutOfBoundsException'), Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang.', 'UnsupportedOperationException'), Ljava_lang_Void_2_classLit = createForClass('java.lang.', 'Void'), Ljava_lang_annotation_AnnotationFormatError_2_classLit = createForClass('java.lang.annotation.', 'AnnotationFormatError'), Ljava_lang_annotation_AnnotationTypeMismatchException_2_classLit = createForClass('java.lang.annotation.', 'AnnotationTypeMismatchException'), Ljava_lang_annotation_ElementType_2_classLit = createForEnum('java.lang.annotation.', 'ElementType', values_37), Ljava_lang_annotation_RetentionPolicy_2_classLit = createForEnum('java.lang.annotation.', 'RetentionPolicy', values_38), Ljava_math_BigDecimal_2_classLit = createForClass('java.math.', 'BigDecimal'), Ljava_math_BigInteger_2_classLit = createForClass('java.math.', 'BigInteger'), Ljava_math_MathContext_2_classLit = createForClass('java.math.', 'MathContext'), Ljava_math_RoundingMode_2_classLit = createForEnum('java.math.', 'RoundingMode', values_39), Ljava_security_GeneralSecurityException_2_classLit = createForClass('java.security.', 'GeneralSecurityException'), Ljava_security_DigestException_2_classLit = createForClass('java.security.', 'DigestException'), Ljava_security_NoSuchAlgorithmException_2_classLit = createForClass('java.security.', 'NoSuchAlgorithmException'), Ljava_sql_Date_2_classLit = createForClass('java.sql.', 'Date'), Ljava_sql_Time_2_classLit = createForClass('java.sql.', 'Time'), Ljava_sql_Timestamp_2_classLit = createForClass('java.sql.', 'Timestamp'), Ljava_util_Arrays$ArrayList_2_classLit = createForClass('java.util.', 'Arrays$ArrayList'), Ljava_util_Collections$EmptyList_2_classLit = createForClass('java.util.', 'Collections$EmptyList'), Ljava_util_AbstractMap_2_classLit = createForClass('java.util.', 'AbstractMap'), Ljava_util_Collections$EmptyMap_2_classLit = createForClass('java.util.', 'Collections$EmptyMap'), Ljava_util_Collections$EmptySet_2_classLit = createForClass('java.util.', 'Collections$EmptySet'), Ljava_util_Collections$SingletonList_2_classLit = createForClass('java.util.', 'Collections$SingletonList'), Ljava_util_ConcurrentModificationException_2_classLit = createForClass('java.util.', 'ConcurrentModificationException'), Ljava_util_EmptyStackException_2_classLit = createForClass('java.util.', 'EmptyStackException'), Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util.', 'AbstractHashMap'), Ljava_util_HashMap_2_classLit = createForClass('java.util.', 'HashMap'), Ljava_util_IdentityHashMap_2_classLit = createForClass('java.util.', 'IdentityHashMap'), Ljava_util_LinkedHashMap_2_classLit = createForClass('java.util.', 'LinkedHashMap'), Ljava_util_LinkedHashSet_2_classLit = createForClass('java.util.', 'LinkedHashSet'), Ljava_util_AbstractSequentialList_2_classLit = createForClass('java.util.', 'AbstractSequentialList'), Ljava_util_LinkedList_2_classLit = createForClass('java.util.', 'LinkedList'), Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util.', 'NoSuchElementException'), Ljava_util_Vector_2_classLit = createForClass('java.util.', 'Vector'), Ljava_util_Stack_2_classLit = createForClass('java.util.', 'Stack'), Ljava_util_TooManyListenersException_2_classLit = createForClass('java.util.', 'TooManyListenersException'), Ljava_util_TreeMap_2_classLit = createForClass('java.util.', 'TreeMap'), Ljava_util_TreeSet_2_classLit = createForClass('java.util.', 'TreeSet'), Ljava_util_logging_Level_2_classLit = createForClass('java.util.logging.', 'Level'), Ljava_util_logging_LogRecord_2_classLit = createForClass('java.util.logging.', 'LogRecord'), Ljavax_validation_ValidationException_2_classLit = createForClass('javax.validation.', 'ValidationException'), Ljavax_validation_ConstraintDeclarationException_2_classLit = createForClass('javax.validation.', 'ConstraintDeclarationException'), Ljavax_validation_ConstraintDefinitionException_2_classLit = createForClass('javax.validation.', 'ConstraintDefinitionException'), Ljavax_validation_ConstraintViolationException_2_classLit = createForClass('javax.validation.', 'ConstraintViolationException'), Ljavax_validation_GroupDefinitionException_2_classLit = createForClass('javax.validation.', 'GroupDefinitionException'), Ljavax_validation_UnexpectedTypeException_2_classLit = createForClass('javax.validation.', 'UnexpectedTypeException'), Ljavax_validation_constraints_Pattern$Flag_2_classLit = createForEnum('javax.validation.constraints.', 'Pattern$Flag', values_41), Ljavax_validation_metadata_Scope_2_classLit = createForEnum('javax.validation.metadata.', 'Scope', values_42), Ledu_upenn_cis_cis550_hw3_client_WebTables_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.', 'WebTables'), Ledu_upenn_cis_cis550_hw3_client_WebTables$1_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.', 'WebTables$1'), Ledu_upenn_cis_cis550_hw3_client_WebTables$2_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.', 'WebTables$2'), Ledu_upenn_cis_cis550_hw3_client_WebTables$3_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.', 'WebTables$3'), Ledu_upenn_cis_cis550_hw3_client_WebTables$4_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.', 'WebTables$4'), Ledu_upenn_cis_cis550_hw3_client_widgets_PagedTable_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.widgets.', 'PagedTable'), Ledu_upenn_cis_cis550_hw3_client_widgets_PagedTable$2_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.widgets.', 'PagedTable$2'), Ledu_upenn_cis_cis550_hw3_client_widgets_ShowMorePagerPanel_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.widgets.', 'ShowMorePagerPanel'), Ledu_upenn_cis_cis550_hw3_client_widgets_ShowMorePagerPanel$1_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.client.widgets.', 'ShowMorePagerPanel$1'), Ledu_upenn_cis_cis550_hw3_shared_Schema$1_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.shared.', 'Schema$1'), Ledu_upenn_cis_cis550_hw3_shared_Schema$2_2_classLit = createForClass('edu.upenn.cis.cis550.hw3.shared.', 'Schema$2'), _3Ljava_lang_Byte_2_classLit = createForArray('[Ljava.lang.', 'Byte;', Ljava_lang_Byte_2_classLit), _3Ljava_lang_Character_2_classLit = createForArray('[Ljava.lang.', 'Character;', Ljava_lang_Character_2_classLit), Ljava_lang_Class_2_classLit = createForClass('java.lang.', 'Class'), _3Ljava_lang_Long_2_classLit = createForArray('[Ljava.lang.', 'Long;', Ljava_lang_Long_2_classLit), _3Ljava_lang_Short_2_classLit = createForArray('[Ljava.lang.', 'Short;', Ljava_lang_Short_2_classLit), Ljava_lang_StringBuffer_2_classLit = createForClass('java.lang.', 'StringBuffer'), Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang.', 'StringBuilder'), _3Ljava_lang_annotation_ElementType_2_classLit = createForArray('[Ljava.lang.annotation.', 'ElementType;', Ljava_lang_annotation_ElementType_2_classLit), _3Ljava_lang_annotation_RetentionPolicy_2_classLit = createForArray('[Ljava.lang.annotation.', 'RetentionPolicy;', Ljava_lang_annotation_RetentionPolicy_2_classLit), _3Ljava_math_BigDecimal_2_classLit = createForArray('[Ljava.math.', 'BigDecimal;', Ljava_math_BigDecimal_2_classLit), _3Ljava_math_BigInteger_2_classLit = createForArray('[Ljava.math.', 'BigInteger;', Ljava_math_BigInteger_2_classLit), _3Ljava_math_RoundingMode_2_classLit = createForArray('[Ljava.math.', 'RoundingMode;', Ljava_math_RoundingMode_2_classLit), Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySet'), Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator'), Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util.', 'AbstractMapEntry'), Ljava_util_AbstractHashMap$MapEntryNull_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull'), Ljava_util_AbstractHashMap$MapEntryString_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryString'), Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$IteratorImpl'), Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$ListIteratorImpl'), Ljava_util_AbstractList$SubList_2_classLit = createForClass('java.util.', 'AbstractList$SubList'), Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util.', 'AbstractMap$1'), Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util.', 'AbstractMap$1$1'), Ljava_util_Collections$EmptySet$1_2_classLit = createForClass('java.util.', 'Collections$EmptySet$1'), Ljava_util_Collections$UnmodifiableCollection_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableCollection'), Ljava_util_Collections$UnmodifiableCollectionIterator_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableCollectionIterator'), Ljava_util_Collections$UnmodifiableList_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableList'), Ljava_util_Collections$UnmodifiableListIterator_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableListIterator'), Ljava_util_Collections$UnmodifiableSet_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableSet'), Ljava_util_Collections$UnmodifiableRandomAccessList_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableRandomAccessList'), Ljava_util_MapEntryImpl_2_classLit = createForClass('java.util.', 'MapEntryImpl'), Ljava_util_LinkedHashMap$ChainEntry_2_classLit = createForClass('java.util.', 'LinkedHashMap$ChainEntry'), Ljava_util_LinkedHashMap$EntrySet_2_classLit = createForClass('java.util.', 'LinkedHashMap$EntrySet'), Ljava_util_LinkedHashMap$EntrySet$EntryIterator_2_classLit = createForClass('java.util.', 'LinkedHashMap$EntrySet$EntryIterator'), Ljava_util_LinkedList$ListIteratorImpl_2_classLit = createForClass('java.util.', 'LinkedList$ListIteratorImpl'), Ljava_util_LinkedList$Node_2_classLit = createForClass('java.util.', 'LinkedList$Node'), Ljava_util_TreeMap$EntryIterator_2_classLit = createForClass('java.util.', 'TreeMap$EntryIterator'), Ljava_util_TreeMap$EntrySet_2_classLit = createForClass('java.util.', 'TreeMap$EntrySet'), Ljava_util_TreeMap$Node_2_classLit = createForClass('java.util.', 'TreeMap$Node'), _3Ljava_util_TreeMap$Node_2_classLit = createForArray('[Ljava.util.', 'TreeMap$Node;', Ljava_util_TreeMap$Node_2_classLit), Ljava_util_TreeMap$State_2_classLit = createForClass('java.util.', 'TreeMap$State'), Ljava_util_TreeMap$SubMapType_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType', values_40), _3Ljava_util_TreeMap$SubMapType_2_classLit = createForArray('[Ljava.util.', 'TreeMap$SubMapType;', Ljava_util_TreeMap$SubMapType_2_classLit), Ljava_util_TreeMap$SubMapType$1_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType$1', null), Ljava_util_TreeMap$SubMapType$2_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType$2', null), Ljava_util_TreeMap$SubMapType$3_2_classLit = createForEnum('java.util.', 'TreeMap$SubMapType$3', null), _3Ljavax_validation_constraints_Pattern$Flag_2_classLit = createForArray('[Ljavax.validation.constraints.', 'Pattern$Flag;', Ljavax_validation_constraints_Pattern$Flag_2_classLit), _3Ljavax_validation_metadata_Scope_2_classLit = createForArray('[Ljavax.validation.metadata.', 'Scope;', Ljavax_validation_metadata_Scope_2_classLit);
$stats && $stats({moduleName:'edu.upenn.cis.cis550.hw3.Cis_550_hw3',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});
if ($wnd.edu_upenn_cis_cis550_hw3_Cis_550_hw3) $wnd.edu_upenn_cis_cis550_hw3_Cis_550_hw3.onScriptLoad();
--></script></body></html>
